﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Windows.Forms;
using Newtonsoft.Json.Linq;

using BLL;
using IYASAKAReport;
using Model;
using System.IO;
using Newtonsoft.Json;
using ZJUploadTool.Models;
using System.Reflection;

namespace ZJUploadTool
{
    public partial class FrmUpload : Form
    {
        public List<string> lstJCLSH { get; private set; }

        #region Class Members
        //----------->Class Members<------------
        //报告单
        private byte[] AJ_BGD_IMG { get; set; }

        //合格证
        private byte[] AJ_HGZ_IMG { get; set; }

        //行驶证
        private byte[] AJ_XSZ_IMG { get; set; }

        private string ZJ_ZPD { get; set; }

        private string egt = "≥";

        private string elt = "≤";

        private string L = "左";

        private string R = "右";

        Action<string> m_cbUploadFinished;
        #endregion
        
        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="jclsh"></param>
        public FrmUpload(string jclsh)
        {
            InitializeComponent();
            InitDatas(jclsh);
            lstJCLSH = GetAllJCLSH(jclsh, false);
            BindEmployeeInfo();
            GetAllImages();
            m_cbUploadFinished = AppendTxtList;
            FormClosed += FrmUpload_FormClosed;
        }

        private void BindEmployeeInfo()
        {
            EMPLOYEE_USER_BLL bll = new EMPLOYEE_USER_BLL();
            var vDLY = bll.GetModelList("LICENSE_NAME like '%01,%'");
            var vHBY = bll.GetModelList("LICENSE_NAME like '%05,%'");
            var vYCY = bll.GetModelList("LICENSE_NAME like '%02,%'");

            cmbDLY.Items.Clear();
            cmbHBY.Items.Clear();
            cmbYCY.Items.Clear();

            foreach (var v in vDLY)
            {
                cmbDLY.Items.Add(v.EMPLOYEE_NAME);
            }

            foreach (var v in vHBY)
            {
                cmbHBY.Items.Add(v.EMPLOYEE_NAME);
            }

            foreach (var v in vYCY)
            {
                cmbYCY.Items.Add(v.EMPLOYEE_NAME);
            }
        }

        /// <summary>
        /// 得到所有检测流水号
        /// </summary>
        /// <param name="strJCLSH"></param>
        /// <param name="bSingle"></param>
        /// <returns></returns>
        public List<string> GetAllJCLSH(string strJCLSH, bool bSingle)
        {
            List<string> lstJCLSH = new List<string>();
            if (bSingle)
            {
                lstJCLSH.Add(strJCLSH);
            }
            else
            {
                if (strJCLSH.Contains("-"))
                {
                    string[] strInfos = strJCLSH.Split('-');
                    int iJCCS = Convert.ToInt32(strInfos[1]) + 1;
                    for (int i = 1; i < iJCCS; i++)
                    {
                        lstJCLSH.Add(strInfos[0] + "-" + i.ToString("d2"));
                    }
                }
                else
                {
                    lstJCLSH.Add(strJCLSH);
                }
            }

            return lstJCLSH;
        }

        public string GetVehicleColorCode(string vehicleType, string vehiclePlate)
        {
            LOGIN_VEHICLE_INFO_BLL _recordSet = new LOGIN_VEHICLE_INFO_BLL();
            LOGIN_VEHICLE_INFO _loginVehicleInfo = _recordSet.GetModelList("VEHICLEID='" + vehicleType + vehiclePlate + "'")[0];
            return _loginVehicleInfo.CSYSDH.Split(',')[0];
        }

        private void InitDatas(string strJCLSH)
        {
            RESULT_VEHICLE_INFO_BLL M_RESULT_VEHICLE_INFO_BLL = new RESULT_VEHICLE_INFO_BLL();
            VEHICLE_DISPATCH_BLL M_VEHICLE_DISPATCH_BLL = new VEHICLE_DISPATCH_BLL();

            var vM_VEHICLE_DISPATCH = M_VEHICLE_DISPATCH_BLL.GetModel(strJCLSH);

            txtHPHM.Text = vM_VEHICLE_DISPATCH.HPHM;
            txtJCLSH.Text = vM_VEHICLE_DISPATCH.JCLSH;
            txtZJLSH.Text = vM_VEHICLE_DISPATCH.ZJLSH;

            bool bDownline = M_RESULT_VEHICLE_INFO_BLL.Exists(strJCLSH);

            if (bDownline)
            {
                lblStatus.Text = "已下线";
            }
        }
        
        #region 保存图片
        private Dictionary<string, object> SaveImages(string strType, string strPath, byte[] bContent)
        {
            Dictionary<string, object> dic = new Dictionary<string, object>();
            try
            {
                if (strType == "Lamp")
                {
                    dic["BMGS"] = "102";
                }
                else if (strType == "Brake")
                {
                    dic["BMGS"] = "101";
                }
                else if (strType == "Power")
                {
                    dic["BMGS"] = "103";
                }

                dic["ZJLSH"] = txtZJLSH.Text.Trim();

                if (Directory.Exists(strPath) == false)
                {
                    Directory.CreateDirectory(strPath);
                }

                bool bRet = WriteFile(strPath, strType, bContent);

                if (bRet)
                {
                    dic["PICData"] = strPath + strType + ".jpg";
                }
            }
            catch (Exception ex)
            {

            }

            return dic;
        }
        #endregion

        #region 写文件
        /// <summary>
        /// 写文件
        /// </summary>
        /// <param name="strPath"></param>
        /// <param name="strContent"></param>
        public static bool WriteFile(string strPath, string strType, byte[] bContent)
        {
            bool bSuc = false;
            try
            {
                if (File.Exists(strPath) == true)
                {
                    File.Delete(strPath);
                }

                MemoryStream ms = new MemoryStream(bContent);
                Image img = Image.FromStream(ms);

                img.Save(strPath + strType + ".jpg");
                bSuc = true;
            }
            catch (Exception ex)
            {

            }

            return bSuc;
        }
        #endregion

        private string GetAllJYXM(List<string> vJCLSH)
        {
            string strJYXM = "";
            RESULT_VEHICLE_INFO_BLL M_RESULT_VEHICLE_INFO_BLL = new RESULT_VEHICLE_INFO_BLL();
            List<string> lstJYXM = new List<string>();
            for (int i = 0; i < vJCLSH.Count; i++)
            {
                var vInfo = M_RESULT_VEHICLE_INFO_BLL.GetModel(vJCLSH[i]);
                if (vInfo.JYXM.Contains(","))
                {
                    var vLst = vInfo.JYXM.Split(',').ToList();

                    foreach (var v in vLst)
                    {
                        if (lstJYXM.Contains(v) == false)
                        {
                            lstJYXM.Add(v);
                        }
                    }
                }
            }

            for (int i = 0; i < lstJYXM.Count; i++)
            {
                strJYXM += lstJYXM[i].ToString();
            }

            return strJYXM;
        }

        /// <summary>
        /// 得到技术等级
        /// </summary>
        /// <param name="strPD"></param>
        /// <returns></returns>
        public static string GetJSDJ(string strPD, bool bJSDJ)
        {
            string strRet = "";
            if (bJSDJ)
            {
                if (strPD == "1")
                {
                    strRet = "1";
                }
                else if (strPD == "10")
                {
                    strRet = "2";
                }
                else if (strPD == "11")
                {
                    strRet = "3";
                }
                else if (strPD == "2")
                {
                    strRet = "4";
                }
            }
            else
            {
                if (strPD == "1")
                {
                    strRet = "1";
                }
                if (strPD == "10")
                {
                    strRet = "1";
                }
                if (strPD == "11")
                {
                    strRet = "1";
                }
                else if (strPD == "2")
                {
                    strRet = "2";
                }
            }

            return strRet;
        }

        #region 上传
        private string Upload_Report_ZJ()
        {
            //if (string.IsNullOrEmpty(ZJ_ZPD))
            //{
            //    MessageBox.Show("检验结果未判定,请先判定再上传！");
            //    return null;
            //}

            bool bSFQCLS = false;

            RESULT_VEHICLE_INFO_BLL M_RESULT_VEHICLE_INFO_BLL = new RESULT_VEHICLE_INFO_BLL();
            string strJCLSH = txtJCLSH.Text.Trim();
            var vRESULT_VEHICLE_INFO = M_RESULT_VEHICLE_INFO_BLL.GetModel(strJCLSH);
            bool.TryParse(vRESULT_VEHICLE_INFO.SFSQCLC, out bSFQCLS);
            RESULT_DPCG vDPCG = null;
            RESULT_BRAKE_ZJ vRESULT_BRAKE_ZJ = null;
            RESULT_SDS vRESULT_SDS = null;
            RESULT_ASM vRESULT_ASM = null;
            RESULT_VMAS vRESULT_VMAS = null;
            RESULT_ZYJS vRESULT_ZYJS = null;
            RESULT_LD vRESULT_LD = null;
            RESULT_LAMP_ZJ vRESULT_LAMP_ZJ = null;
            RESULT_SPEED_ZJ vRESULT_SPEED_ZJ = null;
            List<object> list1 = new List<object>();
            ModelReflection mR = new ModelReflection();
            RESULT_VEHICLE_INFO T_RESULT_VEHICLE_INFO;
            for (int i = 0; i < lstJCLSH.Count; i++)
            {
                T_RESULT_VEHICLE_INFO = M_RESULT_VEHICLE_INFO_BLL.GetModel(lstJCLSH[i]);
                if (i == 0)
                {
                    vRESULT_VEHICLE_INFO = T_RESULT_VEHICLE_INFO;
                }
                mR.AutoMapping(T_RESULT_VEHICLE_INFO, vRESULT_VEHICLE_INFO);
            }

            string strJYXM = GetAllJYXM(lstJCLSH);
            string strSCDH = "";
            bool bJSDJPD = false;
            string strJYLBDH = vRESULT_VEHICLE_INFO.JYLBDH;

            if (strJYLBDH.Contains("12"))
            {
                bJSDJPD = true;
            }

            detectRecord record = new detectRecord();

            Dictionary<object, object> dic = new Dictionary<object, object>();
            #region 基本信息
            record.dsId = UploadConfig.GetConfig().stationID;
            record.detectSn = txtZJLSH.Text.Trim();
            record.dsName = UploadConfig.GetConfig().stationName;           
            record.detectType = "1"; //本地检验类别代号转换
            record.detectDate = vRESULT_VEHICLE_INFO.CLXXSJ; //(YYYY-MM-DD  hh:mm:ss)
            record.client = vRESULT_VEHICLE_INFO.SYR;//委托人
            record.vehicleNo = vRESULT_VEHICLE_INFO.HPHM;
            record.plateColorCode = vRESULT_VEHICLE_INFO.HPYS.To_Net_HPYS();
            record.detectLine = vRESULT_VEHICLE_INFO.JCXH.To_Net_DetectLine();          
            record.busiType = vRESULT_VEHICLE_INFO.YWLX;
            record.engineNo = vRESULT_VEHICLE_INFO.FDJH;
            record.travelMileage = int.Parse(vRESULT_VEHICLE_INFO.LJXSLC);
            record.fuelType = vRESULT_VEHICLE_INFO.RLLBDH;
            record.steeringAxleAmount = "";//转向轴数
            record.transCertificateCode = vRESULT_VEHICLE_INFO.DLYSZH;        
           
            record.vehicleType = vRESULT_VEHICLE_INFO.CLZLDH;  //车辆类型
            record.trailerVehicleNo = vRESULT_VEHICLE_INFO.GLCHPHM;
            record.trailerVehicleType = "";  //全挂 半挂
            record.productionDate = Convert.ToDateTime(vRESULT_VEHICLE_INFO.CCRQ).ToString("yyyyMMdd");
            record.registDate = Convert.ToDateTime(vRESULT_VEHICLE_INFO.CCDJRQ).ToString("yyyyMMdd");
            record.vinNo = vRESULT_VEHICLE_INFO.VIN;
            record.vehicleBrandModel = vRESULT_VEHICLE_INFO.XH;
            record.vehicleBodyColor = this.GetVehicleColorCode(vRESULT_VEHICLE_INFO.HPZLDH,vRESULT_VEHICLE_INFO.HPHM);            
            record.driveType = vRESULT_VEHICLE_INFO.QDXS;
            record.vehicleSuspensionForm = "";// vRESULT_VEHICLE_INFO.ZXZXJXS;
            record.trailerVehicleAxleAmount = vRESULT_VEHICLE_INFO.GCZS;
            record.compressIgnitEnginePower = vRESULT_VEHICLE_INFO.EDGL;
            record.ratedTorque = vRESULT_VEHICLE_INFO.EDNJ;
            record.ratedSpeedOfIgnit = vRESULT_VEHICLE_INFO.EDZS;

            record.driveWheelModel = vRESULT_VEHICLE_INFO.LTGG;
            record.totalWeight = vRESULT_VEHICLE_INFO.ZZL;
            record.vehicleHeight = vRESULT_VEHICLE_INFO.CSG;
            record.frontTrack = vRESULT_VEHICLE_INFO.YZLJ;
            record.vehicleLength = vRESULT_VEHICLE_INFO.CSC;
            record.busTypeLevel = vRESULT_VEHICLE_INFO.KCLXDJDH;
            record.truckBodyType = vRESULT_VEHICLE_INFO.HCCSXS;
            record.driveAxleAmount = (vRESULT_VEHICLE_INFO.QDZWZ.Split(',').Length - 1).ToString();
            record.driveAxleLoadMass = vRESULT_VEHICLE_INFO.QDZKZZL; //驱动轴空载质量（kg)
            record.totalWeightOfTractor = vRESULT_VEHICLE_INFO.QYCMZZZL;
            record.shaftForm = vRESULT_VEHICLE_INFO.BZZXS;   //DH == "0" ? "无" : ""; //特殊格式

            record.lampSystem = vRESULT_VEHICLE_INFO.QZDZ;
            record.seatCount = vRESULT_VEHICLE_INFO.CYS;//座位数
            record.mainVehicleAxleAmount = vRESULT_VEHICLE_INFO.ZZS;//主车轴数
            record.overallSize = string.Format("{0}×{1}×{2}", vRESULT_VEHICLE_INFO.CSC, vRESULT_VEHICLE_INFO.CSK, vRESULT_VEHICLE_INFO.CSG);
            record.overallSizeTrailer = bSFQCLS?string.Format("{0}×{1}×{2}", vRESULT_VEHICLE_INFO.GCCSC, vRESULT_VEHICLE_INFO.GCCSK, vRESULT_VEHICLE_INFO.GCCSG):"";
            record.farLightCanAdjust = vRESULT_VEHICLE_INFO.YGGSNFKTDH;
            record.parkAxle = vRESULT_VEHICLE_INFO.ZCZWZ;
            record.carriageSsideboardHeight = vRESULT_VEHICLE_INFO.ZCLBGD;
            record.ssideboardHeightTrailer = vRESULT_VEHICLE_INFO.GCLBGD;
            record.detectTotalCount = vRESULT_VEHICLE_INFO.JCCS.ToString();

            #region 动力性 Power
            if (strJYXM.Contains("G"))
            {
                RESULT_DPCG_BLL M_RESULT_DPCG_BLL = new RESULT_DPCG_BLL();
                vDPCG = M_RESULT_DPCG_BLL.GetModel(strJCLSH);

                RESULT_DPCG T_RESULT_DPCG;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_DPCG = M_RESULT_DPCG_BLL.GetModel(lstJCLSH[i]);
                    if (i == 0)
                    {
                        vDPCG = T_RESULT_DPCG;
                    }
                    mR.AutoMapping(T_RESULT_DPCG, vDPCG);
                }
                power powerEntity = new power();

                if (string.IsNullOrEmpty(vDPCG.JCLSH) == false)
                {
                    powerEntity.standardPower = vDPCG.GK_DBGL;
                    powerEntity.ratedSpeed = vDPCG.GK_EDCS;
                    powerEntity.loadingForce = vDPCG.GK_JZL;
                    powerEntity.steadySpeed = vDPCG.GK_WDCS;
                    powerEntity.evaluate = vDPCG.GK_PD.To_Net_ZJPD();
                }
                record.power = powerEntity;
            }
            #endregion

            #region 燃料经济性
            if (strJYXM.Contains("G"))
            {
                fuelEconomy fuelEntity = new fuelEconomy();
                if (string.IsNullOrEmpty(vDPCG.JCLSH) == false)
                {
                    fuelEntity.speedFuelPerHundredKm = vDPCG.YH_BZ;
                    fuelEntity.measuredValue = vDPCG.YH_SCZ;
                    fuelEntity.evaluate = vDPCG.YH_PD.To_Net_ZJPD();
                }
                record.fuelEconomy = fuelEntity;
            }
            #endregion

            #region 制动

            Dictionary<string, object> dicBrake = new Dictionary<string, object>();
            List<object> listBrake = new List<object>();

            #region 制动性 initData  单位 daN

            record.brake = new brake();
            List<object> list2 = new List<object>();
            List<initData> listInitData = new List<initData>();
            RESULT_BRAKE_ZJ_BLL M_RESULT_BRAKE_ZJ_BLL = new RESULT_BRAKE_ZJ_BLL();
            vRESULT_BRAKE_ZJ = M_RESULT_BRAKE_ZJ_BLL.GetModel(strJCLSH);
            RESULT_BRAKE_ZJ T_RESULT_BRAKE_ZJ;
            for (int i = 0; i < lstJCLSH.Count; i++)
            {
                T_RESULT_BRAKE_ZJ = M_RESULT_BRAKE_ZJ_BLL.GetModel(lstJCLSH[i]);

                if (i == 0)
                {
                    vRESULT_BRAKE_ZJ = T_RESULT_BRAKE_ZJ;
                }

                mR.AutoMapping(T_RESULT_BRAKE_ZJ, vRESULT_BRAKE_ZJ);
            }

            if (string.IsNullOrEmpty(vRESULT_BRAKE_ZJ.JCLSH) == false)
            {
                if (strJYXM.Contains("B1"))
                {
                    initData oneInitData = new initData();
                    oneInitData.axleSerialNo = "1";
                    oneInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.YZZLZ;
                    oneInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.YZYLZ;
                    oneInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTYZZZ;
                    oneInitData.leftDynamicWheelLoad = vRESULT_BRAKE_ZJ.YZZDTLH;
                    oneInitData.rightDynamicWheelLoad = vRESULT_BRAKE_ZJ.YZYDTLH;
                    oneInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.YZZZDZDL;
                    oneInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.YZYZDZDL;
                    oneInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.YZZSZDL;
                    oneInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.YZYSZDL;
                    listInitData.Add(oneInitData);
                }
                if (strJYXM.Contains("B2"))
                {
                    initData twoInitData = new initData();
                    twoInitData.axleSerialNo = "2";
                    twoInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.EZZLZ;
                    twoInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.EZYLZ;
                    twoInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTEZZZ;
                    twoInitData.leftDynamicWheelLoad = vRESULT_BRAKE_ZJ.EZZDTLH;
                    twoInitData.rightDynamicWheelLoad = vRESULT_BRAKE_ZJ.EZYDTLH;
                    twoInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.EZZZDZDL;
                    twoInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.EZYZDZDL;
                    twoInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.EZZSZDL;
                    twoInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.EZYSZDL;
                    listInitData.Add(twoInitData);
                }
                if (strJYXM.Contains("B3"))
                {
                    initData threeInitData = new initData();
                    threeInitData.axleSerialNo = "3";
                    threeInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.SZZLZ;
                    threeInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.SZYLZ;
                    threeInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTSZZZ;
                    threeInitData.leftDynamicWheelLoad = "";
                    threeInitData.rightDynamicWheelLoad = "";
                    threeInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.SZZZDZDL;
                    threeInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.SZYZDZDL;
                    threeInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.SZZSZDL;
                    threeInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.SZYSZDL;
                    listInitData.Add(threeInitData);
                }
                if (strJYXM.Contains("B4"))
                {
                    initData fourInitData = new initData();
                    fourInitData.axleSerialNo = "4";
                    fourInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.SIZZLZ;
                    fourInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.SIZYLZ;
                    fourInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTSIZZZ;
                    fourInitData.leftDynamicWheelLoad = "";
                    fourInitData.rightDynamicWheelLoad = "";
                    fourInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.SIZZZDZDL;
                    fourInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.SIZYZDZDL;
                    fourInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.SIZZSZDL;
                    fourInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.SIZYSZDL;
                    listInitData.Add(fourInitData);
                }
                if (strJYXM.Contains("B5"))
                {
                    initData fiveInitData = new initData();
                    fiveInitData.axleSerialNo = "5";
                    fiveInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.WZZLZ;
                    fiveInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.WZYLZ;
                    fiveInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTWZZZ;
                    fiveInitData.leftDynamicWheelLoad = "";
                    fiveInitData.rightDynamicWheelLoad = "";
                    fiveInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.WZZZDZDL;
                    fiveInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.WZYZDZDL;
                    fiveInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.WZZSZDL;
                    fiveInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.WZYSZDL;
                    listInitData.Add(fiveInitData);
                }
                if (strJYXM.Contains("B6"))
                {
                    initData sixInitData = new initData();
                    sixInitData.axleSerialNo = "6";
                    sixInitData.leftHorizontalLoadWheel = vRESULT_BRAKE_ZJ.LZZLZ;
                    sixInitData.rightHorizontalLoadWheel = vRESULT_BRAKE_ZJ.LZYLZ;
                    sixInitData.axleLoadOfCompoundTable = vRESULT_BRAKE_ZJ.FHTLZZZ;
                    sixInitData.leftDynamicWheelLoad = "";
                    sixInitData.rightDynamicWheelLoad = "";
                    sixInitData.leftDriveBrakeForce = vRESULT_BRAKE_ZJ.LZZZDZDL;
                    sixInitData.rightDriveBrakeForce = vRESULT_BRAKE_ZJ.LZYZDZDL;
                    sixInitData.leftParkBrakeForce = vRESULT_BRAKE_ZJ.LZZSZDL;
                    sixInitData.rightParkBrakeForce = vRESULT_BRAKE_ZJ.LZYSZDL;
                    listInitData.Add(sixInitData);
                }

                record.brake.initData = listInitData;
            }


            #endregion

            #region 整车 wholeVehicle
            record.brake.wholeVehicle = new wholeVehicle();
            if (string.IsNullOrEmpty(vRESULT_BRAKE_ZJ.JCLSH) == false)
            {

                Dictionary<string, object> dic3 = new Dictionary<string, object>();
                #region 单车(singleVehicle)
                singleVehicle singleCar = new singleVehicle();
                singleCar.horizontalWeight = vRESULT_BRAKE_ZJ.ZCZZ;
                singleCar.wholeVehicleBrakeRate = vRESULT_BRAKE_ZJ.ZCZDLV;
                singleCar.parkBrakeRate = vRESULT_BRAKE_ZJ.ZCSZDLV;
                singleCar.evaluate = vRESULT_BRAKE_ZJ.ZCZDLV_PD.To_Net_ZJPD();
                record.brake.wholeVehicle.singleVehicle = singleCar;
                #endregion

                #region 汽车列车1(vehicleSerial1)
                vehicleSerial1 oneSerial = new vehicleSerial1();
                oneSerial.horizontalWeight = "";
                oneSerial.vehicleBrakeRateTractor = vRESULT_BRAKE_ZJ.ZCZDLV;
                oneSerial.vehicleBrakeRateTrailer = "";
                oneSerial.parkBrakeRate = "";
                oneSerial.brakeCoordinateTime = "";
                oneSerial.evaluate = vRESULT_BRAKE_ZJ.QCLCZC_PD.To_Net_ZJPD();
                record.brake.wholeVehicle.vehicleSerial1 = oneSerial;
                #endregion

                #region 制动时序(时间) (brakeSeqTime)
                brakeSeqTime seqTime = new brakeSeqTime();
                seqTime.axle1 = "";
                seqTime.axle2 = "";
                seqTime.axle3 = "";
                seqTime.axle4 = "";
                seqTime.axle5 = "";
                seqTime.axle6 = "";
                seqTime.evaluate = "";
                record.brake.wholeVehicle.brakeSeqTime = seqTime; ;
                #endregion

                #region 制动时序(时序) (brakeSeq)
                brakeSeq seq = new brakeSeq();
                seq.axle1 = "";
                seq.axle2 = "";
                seq.axle3 = "";
                seq.axle4 = "";
                seq.axle5 = "";
                seq.axle6 = "";
                seq.evaluate = "";
                record.brake.wholeVehicle.brakeSeq = seq;
                #endregion

                if (bSFQCLS)
                {
                    #region 汽车列车2(vehicleSerial2)
                    vehicleSerial2 twoSerial = new vehicleSerial2();
                    twoSerial.brakeRateTractorTrain = "";
                    twoSerial.brakeRateTrailerTrain = "";
                    twoSerial.evaluate = "";
                    record.brake.wholeVehicle.vehicleSerial2 = twoSerial;
                    #endregion
                }
            }


            #endregion

            #region 单轴
            List<singleAxle> listSingleAxle = new List<singleAxle>();
            if (string.IsNullOrEmpty(vRESULT_BRAKE_ZJ.JCLSH) == false)
            {
                if (strJYXM.Contains("B1"))
                {
                    singleAxle oneSingleAxle = new singleAxle();
                    oneSingleAxle.axleSerialNo = "1";
                    oneSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.YZZDLV;
                    oneSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.YZBPHLV;
                    oneSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.YZZZDCZD;
                    oneSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.YZYZDCZD;
                    oneSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.YZZZZLV;
                    oneSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.YZYZZLV;
                    oneSingleAxle.evaluate = vRESULT_BRAKE_ZJ.YZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(oneSingleAxle);
                }
                if (strJYXM.Contains("B2"))
                {
                    singleAxle twoSingleAxle = new singleAxle();
                    twoSingleAxle.axleSerialNo = "2";
                    twoSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.YZZDLV;
                    twoSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.EZBPHLV;
                    twoSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.EZZZDCZD;
                    twoSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.EZYZDCZD;
                    twoSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.EZZZZLV;
                    twoSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.EZYZZLV;
                    twoSingleAxle.evaluate = vRESULT_BRAKE_ZJ.EZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(twoSingleAxle);
                }
                if (strJYXM.Contains("B3"))
                {
                    singleAxle threeSingleAxle = new singleAxle();
                    threeSingleAxle.axleSerialNo = "3";
                    threeSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.SZZDLV;
                    threeSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.SZBPHLV;
                    threeSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.SZZZDCZD;
                    threeSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.SZYZDCZD;
                    threeSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.SZZZZLV;
                    threeSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.SZYZZLV;
                    threeSingleAxle.evaluate = vRESULT_BRAKE_ZJ.SZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(threeSingleAxle);
                }
                if (strJYXM.Contains("B4"))
                {
                    singleAxle fourSingleAxle = new singleAxle();
                    fourSingleAxle.axleSerialNo = "4";
                    fourSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.SIZZDLV;
                    fourSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.SIZBPHLV;
                    fourSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.SIZZZDCZD;
                    fourSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.SIZYZDCZD;
                    fourSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.SIZZZZLV;
                    fourSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.SIZYZZLV;
                    fourSingleAxle.evaluate = vRESULT_BRAKE_ZJ.SIZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(fourSingleAxle);
                }
                if (strJYXM.Contains("B5"))
                {
                    singleAxle fiveSingleAxle = new singleAxle();
                    fiveSingleAxle.axleSerialNo = "5";
                    fiveSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.WZZDLV;
                    fiveSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.WZBPHLV;
                    fiveSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.WZZZDCZD;
                    fiveSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.WZYZDCZD;
                    fiveSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.WZZZZLV;
                    fiveSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.WZYZZLV;
                    fiveSingleAxle.evaluate = vRESULT_BRAKE_ZJ.WZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(fiveSingleAxle);
                }
                if (strJYXM.Contains("B6"))
                {
                    singleAxle sixSingleAxle = new singleAxle();
                    sixSingleAxle.axleSerialNo = "6";
                    sixSingleAxle.axleBrakeRate = vRESULT_BRAKE_ZJ.LZZDLV;
                    sixSingleAxle.brakeUnbalanceRate = vRESULT_BRAKE_ZJ.LZBPHLV;
                    sixSingleAxle.leftMaxProcessDiff = vRESULT_BRAKE_ZJ.LZZZDCZD;
                    sixSingleAxle.rightMaxProcessDiff = vRESULT_BRAKE_ZJ.LZYZDCZD;
                    sixSingleAxle.leftRetardingForce = vRESULT_BRAKE_ZJ.LZZZZLV;
                    sixSingleAxle.rightRetardingForce = vRESULT_BRAKE_ZJ.LZYZZLV;
                    sixSingleAxle.evaluate = vRESULT_BRAKE_ZJ.LZZDZ_PD.To_Net_ZJPD();
                    listSingleAxle.Add(sixSingleAxle);
                }
                record.brake.singleAxle = listSingleAxle;
            }
            #endregion

            #region 路试
            if (strJYXM.Contains("R"))
            {
                record.brake.roadTest = new roadTest();
                RESULT_ROAD_BLL M_RESULT_ROAD_BLL = new RESULT_ROAD_BLL();
                var vRoad = M_RESULT_ROAD_BLL.GetModel(strJCLSH);

                RESULT_ROAD T_RESULT_ROAD;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_ROAD = M_RESULT_ROAD_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRoad = T_RESULT_ROAD;
                    }

                    mR.AutoMapping(T_RESULT_ROAD, vRoad);
                }


                #region 行车制动
                driveBrake roadDriveBrake = new driveBrake();
                roadDriveBrake.initialVelocity = "";// vRoad.LSZDCSD;
                roadDriveBrake.laneWidth = "";// vRoad.LSZDSCDK;
                roadDriveBrake.brakeDistance = "";// vRoad.LSZDJL;
                roadDriveBrake.mfdd = "";// vRoad.MFDD;
                roadDriveBrake.brakeStability = "";// vRoad.LSZDPPQK;
                roadDriveBrake.brakeCoordinateTime = "";//vRoad.LSZDXTSJ;
                roadDriveBrake.evaluate = "";
                record.brake.roadTest.driveBrake = roadDriveBrake;
                #endregion

                #region 驻车制动
                parkBrake roadParkBrake = new parkBrake();
                roadParkBrake.parkSlope = "";//vRoad.LSZCPD;
                roadParkBrake.parkResult = "";// vRoad.LSZC_PD;
                roadParkBrake.evaluate = "";
                record.brake.roadTest.parkBrake = roadParkBrake;
                #endregion
            }
            #endregion
            #endregion

            #region 排放性(emission)
            #region 汽油车(gasolineVehicle)
            record.emission = new emission();
            gasolineVehicle gasVegicle;
            if (strJYXM.Contains("X1"))
            {
                gasVegicle = new gasolineVehicle();
                RESULT_SDS_BLL M_RESULT_SDS_BLL = new RESULT_SDS_BLL();
                vRESULT_SDS = M_RESULT_SDS_BLL.GetModel(strJCLSH);
                RESULT_SDS T_RESULT_SDS;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_SDS = M_RESULT_SDS_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_SDS = T_RESULT_SDS;
                    }

                    mR.AutoMapping(T_RESULT_SDS, vRESULT_SDS);
                }

                if (string.IsNullOrEmpty(vRESULT_SDS.JCLSH) == false)
                {
                    gasVegicle.highCo = vRESULT_SDS.GDSCO;
                    gasVegicle.highHc = vRESULT_SDS.GDSHC;
                    gasVegicle.highL = vRESULT_SDS.GLKQXS;
                    gasVegicle.lowCo = vRESULT_SDS.DSCO;
                    gasVegicle.lowHc = vRESULT_SDS.DSHC;
                    gasVegicle.evaluate = vRESULT_SDS.SDS_PD.To_Net_ZJPD();
                    record.emission.gasolineVehicle = gasVegicle;
                }

            }
            else if (strJYXM.Contains("X2"))
            {
                gasVegicle = new gasolineVehicle();
                RESULT_ASM_BLL M_RESULT_ASM_BLL = new RESULT_ASM_BLL();
                vRESULT_ASM = M_RESULT_ASM_BLL.GetModel(strJCLSH);
                RESULT_ASM T_RESULT_ASM;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_ASM = M_RESULT_ASM_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_ASM = T_RESULT_ASM;
                    }

                    mR.AutoMapping(T_RESULT_ASM, vRESULT_ASM);
                }

                if (string.IsNullOrEmpty(vRESULT_ASM.JCLSH) == false)
                {

                    gasVegicle.co5025 = vRESULT_ASM.CO25025JG;
                    gasVegicle.hc5025 = vRESULT_ASM.HC5025JG;
                    gasVegicle.no5025 = vRESULT_ASM.NO5025JG;
                    gasVegicle.co2540 = vRESULT_ASM.CO2540JG;
                    gasVegicle.hc2540 = vRESULT_ASM.HC2540JG;
                    gasVegicle.no2540 = vRESULT_ASM.NO2540JG;
                    gasVegicle.evaluate = vRESULT_ASM.ASM_PD.To_Net_ZJPD();
                    record.emission.gasolineVehicle = gasVegicle;
                }

            }
            else if (strJYXM.Contains("X3"))
            {
                gasVegicle = new gasolineVehicle();
                RESULT_VMAS_BLL M_RESULT_VMAS_BLL = new RESULT_VMAS_BLL();
                vRESULT_VMAS = M_RESULT_VMAS_BLL.GetModel(strJCLSH);

                RESULT_VMAS T_RESULT_VMAS;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_VMAS = M_RESULT_VMAS_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_VMAS = T_RESULT_VMAS;
                    }

                    mR.AutoMapping(T_RESULT_VMAS, vRESULT_VMAS);
                }

                if (string.IsNullOrEmpty(vRESULT_VMAS.JCLSH) == false)
                {
                    gasVegicle.vmasCo = vRESULT_VMAS.COJG;
                    gasVegicle.vmasHc = vRESULT_VMAS.HCJG;
                    gasVegicle.vmasNo = vRESULT_VMAS.NOJG;
                    gasVegicle.vmasHcNo = vRESULT_VMAS.HC_NOJG;
                    gasVegicle.evaluate = vRESULT_VMAS.VMAS_PD.To_Net_ZJPD();
                    record.emission.gasolineVehicle = gasVegicle;
                }

            }

            #endregion

            #region 柴油车(dieselVehicle)
            dieselVehicle dieVehicle = null;
            if (strJYXM.Contains("X4"))
            {
                dieVehicle = new dieselVehicle();
                RESULT_ZYJS_BLL M_RESULT_ZYJS_BLL = new RESULT_ZYJS_BLL();
                vRESULT_ZYJS = M_RESULT_ZYJS_BLL.GetModel(strJCLSH);
                RESULT_ZYJS T_RESULT_ZYJS;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_ZYJS = M_RESULT_ZYJS_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_ZYJS = T_RESULT_ZYJS;
                    }

                    mR.AutoMapping(T_RESULT_ZYJS, vRESULT_ZYJS);
                }

                if (string.IsNullOrEmpty(vRESULT_ZYJS.JCLSH) == false)
                {
                    dieVehicle.ratio1 = vRESULT_ZYJS.ZYJSJG1;
                    dieVehicle.ratio2 = vRESULT_ZYJS.ZYJSJG2;
                    dieVehicle.ratio3 = vRESULT_ZYJS.ZYJSJG3;
                    dieVehicle.ratioBalance = vRESULT_ZYJS.ZYJSPJZ;
                    dieVehicle.evaluate = vRESULT_ZYJS.ZYJS_PD.To_Net_ZJPD();
                }
            }
            else if (strJYXM.Contains("X6"))
            {
                dieVehicle = new dieselVehicle();
                RESULT_ZYJS_BLL M_RESULT_ZYJS_BLL = new RESULT_ZYJS_BLL();
                vRESULT_ZYJS = M_RESULT_ZYJS_BLL.GetModel(strJCLSH);
                RESULT_ZYJS T_RESULT_ZYJS;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_ZYJS = M_RESULT_ZYJS_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_ZYJS = T_RESULT_ZYJS;
                    }

                    mR.AutoMapping(T_RESULT_ZYJS, vRESULT_ZYJS);
                }

                if (string.IsNullOrEmpty(vRESULT_ZYJS.JCLSH) == false)
                {
                    dieVehicle.smoke1 = vRESULT_ZYJS.ZYJSJG2;
                    dieVehicle.smoke2 = vRESULT_ZYJS.ZYJSJG3;
                    dieVehicle.smoke3 = vRESULT_ZYJS.ZYJSJG4;
                    dieVehicle.smokeBalance = vRESULT_ZYJS.ZYJSPJZ;
                    dieVehicle.evaluate = vRESULT_ZYJS.ZYJS_PD.To_Net_ZJPD();
                }
            }
            else if (strJYXM.Contains("X5"))
            {
                dieVehicle = new dieselVehicle();
                RESULT_LD_BLL M_RESULT_LD_BLL = new RESULT_LD_BLL();
                vRESULT_LD = M_RESULT_LD_BLL.GetModel(strJCLSH);
                RESULT_LD T_RESULT_LD;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_LD = M_RESULT_LD_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_LD = T_RESULT_LD;
                    }

                    mR.AutoMapping(T_RESULT_LD, vRESULT_LD);
                }

                if (string.IsNullOrEmpty(vRESULT_LD.JCLSH) == false)
                {
                    dieVehicle.ratio100 = vRESULT_LD.GXSXS100;
                    dieVehicle.ratio90 = vRESULT_LD.GXSXS90;
                    dieVehicle.ratio80 = vRESULT_LD.GXSXS80;
                    dieVehicle.maxWheelSidePower = vRESULT_LD.GLJG;
                    dieVehicle.evaluate = vRESULT_LD.LD_PD.To_Net_ZJPD();
                }
            }
            record.emission.dieselVehicle = dieVehicle;

            #endregion
            #endregion

            #region 悬架(suspension)
            if (strJYXM.Contains("U"))
            {
                RESULT_SUSPENSION_BLL M_RESULT_SUSPENSION_BLL = new RESULT_SUSPENSION_BLL();
                var vSUS = M_RESULT_SUSPENSION_BLL.GetModel(strJCLSH);
                RESULT_SUSPENSION T_RESULT_SUSPENSION;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_SUSPENSION = M_RESULT_SUSPENSION_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vSUS = T_RESULT_SUSPENSION;
                    }

                    mR.AutoMapping(T_RESULT_SUSPENSION, vSUS);
                }

                if (string.IsNullOrEmpty(vSUS.JCLSH) == false)
                {
                    List<suspension> listSpen = new List<suspension>();
                    suspension spen1 = new suspension();
                    spen1.axleType = "FRONT";
                    spen1.efficiencyOfLeftAxle = vSUS.QZZLXSLV;
                    spen1.efficiencyOfRightAxle = vSUS.QZYLXSLV;
                    spen1.absorbRateDifOfAxle = vSUS.QZXSLVC;
                    spen1.evaluate = vSUS.QZXSLVC_PD.To_Net_ZJPD();
                    listSpen.Add(spen1);

                    suspension spen2 = new suspension();
                    spen2.axleType = "BEHIND";
                    spen2.efficiencyOfLeftAxle = vSUS.HZZLXSLV;
                    spen2.efficiencyOfRightAxle = vSUS.HZYLXSLV;
                    spen2.absorbRateDifOfAxle = vSUS.HZXSLVC;
                    spen2.evaluate = vSUS.HZXSLVC_PD.To_Net_ZJPD();
                    listSpen.Add(spen2);
                    record.suspension = listSpen;

                }
            }
            #endregion

            #region 前照灯(mainLamp)
            if (strJYXM.Contains("H"))
            {
                RESULT_LAMP_ZJ_BLL M_RESULT_LAMP_ZJ_BLL = new RESULT_LAMP_ZJ_BLL();
                vRESULT_LAMP_ZJ = M_RESULT_LAMP_ZJ_BLL.GetModel(strJCLSH);

                RESULT_LAMP_ZJ T_RESULT_LAMP_ZJ;
                for (int i = 0; i < lstJCLSH.Count; i++)
                {
                    T_RESULT_LAMP_ZJ = M_RESULT_LAMP_ZJ_BLL.GetModel(lstJCLSH[i]);

                    if (i == 0)
                    {
                        vRESULT_LAMP_ZJ = T_RESULT_LAMP_ZJ;
                    }

                    mR.AutoMapping(T_RESULT_LAMP_ZJ, vRESULT_LAMP_ZJ);
                }

                List<mainLamp> listLamp = new List<mainLamp>();
                mainLamp lamp1 = new mainLamp();
                lamp1.lampType = "LEFT_OUT";
                lamp1.nearLightLampHight = vRESULT_LAMP_ZJ.ZWDJGDG;
                lamp1.farLightLampHight = vRESULT_LAMP_ZJ.ZWDYGDG;
                lamp1.farLightStrong = vRESULT_LAMP_ZJ.ZWDYGGQ;
                lamp1.farLightVOffset = vRESULT_LAMP_ZJ.ZWDYGCZPY;
                lamp1.farLightHOffset = vRESULT_LAMP_ZJ.ZWDYGSPPYL;
                lamp1.nearLightVOffset = vRESULT_LAMP_ZJ.ZWDJGCZPY;
                lamp1.nearLightHOffset = vRESULT_LAMP_ZJ.ZWDJGSPPYL;
                lamp1.evaluate = vRESULT_LAMP_ZJ.ZWDJGCZPY_PD.To_Net_ZJPD();
                listLamp.Add(lamp1);

                mainLamp lamp2 = new mainLamp();
                lamp2.lampType = "LEFT_IN";
                lamp2.nearLightLampHight = vRESULT_LAMP_ZJ.ZNDJGDG;
                lamp2.farLightLampHight = vRESULT_LAMP_ZJ.ZNDYGDG;
                lamp2.farLightStrong = vRESULT_LAMP_ZJ.ZNDYGGQ;
                lamp2.farLightVOffset = vRESULT_LAMP_ZJ.ZNDYGCZPY;
                lamp2.farLightHOffset = vRESULT_LAMP_ZJ.ZNDYGSPPYL;
                lamp2.nearLightVOffset = vRESULT_LAMP_ZJ.ZNDJGCZPY;
                lamp2.nearLightHOffset = vRESULT_LAMP_ZJ.ZNDJGSPPYL;
                lamp2.evaluate = vRESULT_LAMP_ZJ.ZNDJGSPPY_PD.To_Net_ZJPD();
                listLamp.Add(lamp2);

                mainLamp lamp3 = new mainLamp();
                lamp3.lampType = "RIGHT_OUT";
                lamp3.nearLightLampHight = vRESULT_LAMP_ZJ.YWDJGDG;
                lamp3.farLightLampHight = vRESULT_LAMP_ZJ.YWDYGDG;
                lamp3.farLightStrong = vRESULT_LAMP_ZJ.YWDYGGQ;
                lamp3.farLightVOffset = vRESULT_LAMP_ZJ.YWDYGCZPY;
                lamp3.farLightHOffset = vRESULT_LAMP_ZJ.YWDYGSPPYL;
                lamp3.nearLightVOffset = vRESULT_LAMP_ZJ.YWDJGCZPY;
                lamp3.nearLightHOffset = vRESULT_LAMP_ZJ.YWDJGSPPYL;
                lamp3.evaluate = vRESULT_LAMP_ZJ.YWDJGSPPY_PD.To_Net_ZJPD();
                listLamp.Add(lamp3);

                mainLamp lamp4 = new mainLamp();
                lamp4.lampType = "RIGHT_IN";
                lamp4.nearLightLampHight = vRESULT_LAMP_ZJ.YNDJGDG;
                lamp4.farLightLampHight = vRESULT_LAMP_ZJ.YNDYGDG;
                lamp4.farLightStrong = vRESULT_LAMP_ZJ.YNDYGGQ;
                lamp4.farLightVOffset = vRESULT_LAMP_ZJ.YNDYGCZPY;
                lamp4.farLightHOffset = vRESULT_LAMP_ZJ.YNDYGSPPYL;
                lamp4.nearLightVOffset = vRESULT_LAMP_ZJ.YNDJGCZPY;
                lamp4.nearLightHOffset = vRESULT_LAMP_ZJ.YNDJGSPPYL;
                lamp4.evaluate = vRESULT_LAMP_ZJ.YNDJGSPPY_PD.To_Net_ZJPD();
                listLamp.Add(lamp4);

                foreach (var item in listLamp)
                {
                    PropertyInfo[] pInfos = item.GetType().GetProperties();
                    foreach (var p in pInfos)
                    {
                        if (p.GetValue(item, null) != null && Convert.ToString(p.GetValue(item, null)) == "-")
                        {
                            p.SetValue(item, "", null);
                        }
                    }
                }

                record.mainLamp = listLamp;

            }

            #endregion

            #region 单项检测(singleItem)
            List<singleItem> listSingleItem = new List<singleItem>();
            ////发动机无负荷功率
            //singleItem singleItem1 = new singleItem();
            //singleItem1.itemCode = "no_load_engine_power";
            //singleItem1.detectResult = "";
            //singleItem1.evaluate = "";
            //listSingleItem.Add(singleItem1);


            ////转向盘自由转动量
            //singleItem singleItem2 = new singleItem();
            //singleItem2.itemCode = "free_rotation_of_steer_wheel";
            //singleItem2.detectResult = "";
            //singleItem2.evaluate = "";
            //listSingleItem.Add(singleItem2);


            ////转向盘操纵力
            //singleItem singleItem3 = new singleItem();
            //singleItem3.itemCode = "steer_force_of_steer_wheel";
            //singleItem3.detectResult = "";
            //singleItem3.evaluate = "";
            //listSingleItem.Add(singleItem3);


            ////柴油机烟度
            //singleItem singleItem4 = new singleItem();
            //singleItem4.itemCode = "diesel_smoke";
            //singleItem4.detectResult = "";
            //singleItem4.evaluate = "";
            //listSingleItem.Add(singleItem4);


            ////客车车内噪声
            //singleItem singleItem5 = new singleItem();
            //singleItem5.itemCode = "internal_noise_of_verhicle";
            //singleItem5.detectResult = "";
            //singleItem5.evaluate = "";
            //listSingleItem.Add(singleItem5);


            ////制动踏板自由行程
            //singleItem singleItem6 = new singleItem();
            //singleItem6.itemCode = "brake_pedal_free_stroke";
            //singleItem6.detectResult = "";
            //singleItem6.evaluate = "";
            //listSingleItem.Add(singleItem6);


            ////制动踏板力
            //singleItem singleItem7 = new singleItem();
            //singleItem7.itemCode = "brake_pedal_force";
            //singleItem7.detectResult = "";
            //singleItem7.evaluate = "";
            //listSingleItem.Add(singleItem7);


            ////实测车速
            //singleItem singleItem8 = new singleItem();
            //singleItem8.itemCode = "measured_speed";
            //singleItem8.detectResult = "";
            //singleItem8.evaluate = "";
            //listSingleItem.Add(singleItem8);


            ////车速表示值误差
            //singleItem singleItem9 = new singleItem();
            //singleItem9.itemCode = "speed_meter_deviation";
            //singleItem9.detectResult = "";
            //singleItem9.evaluate = "";
            //listSingleItem.Add(singleItem9);


            ////滑行距离
            //singleItem singleItem10 = new singleItem();
            //singleItem10.itemCode = "slid_distance";
            //singleItem10.detectResult = "";
            //singleItem10.evaluate = "";
            //listSingleItem.Add(singleItem10);


            ////滑行阻力
            //singleItem singleItem11 = new singleItem();
            //singleItem11.itemCode = "slid_resistance";
            //singleItem11.detectResult = "";
            //singleItem11.evaluate = "";
            //listSingleItem.Add(singleItem11);


            ////轮胎气压
            //singleItem singleItem12 = new singleItem();
            //singleItem12.itemCode = "tire_pressure";
            //singleItem12.detectResult = "";
            //singleItem12.evaluate = "";
            //listSingleItem.Add(singleItem12);


            ////传动轴游隙
            //singleItem singleItem13 = new singleItem();
            //singleItem13.itemCode = "shaft_clearance";
            //singleItem13.detectResult = "";
            //singleItem13.evaluate = "";
            //listSingleItem.Add(singleItem13);


            ////离合器踏板自由行程
            //singleItem singleItem14 = new singleItem();
            //singleItem14.itemCode = "clutch_pedal_pos";
            //singleItem14.detectResult = "";
            //singleItem14.evaluate = "";
            //listSingleItem.Add(singleItem14);


            ////离合器踏板力
            //singleItem singleItem15 = new singleItem();
            //singleItem15.itemCode = "clutch_pedal_force";
            //singleItem15.detectResult = "";
            //singleItem15.evaluate = "";
            //listSingleItem.Add(singleItem15);


            ////传动系异响
            //singleItem singleItem16 = new singleItem();
            //singleItem16.itemCode = "trans_sys_abnormal_sound";
            //singleItem16.detectResult = "";
            //singleItem16.evaluate = "";
            //listSingleItem.Add(singleItem16);


            ////驻车装置操纵力
            //singleItem singleItem17 = new singleItem();
            //singleItem17.itemCode = "park_equip_operate_force";
            //singleItem17.detectResult = "";
            //singleItem17.evaluate = "";
            //listSingleItem.Add(singleItem17);


            ////发动机异响
            //singleItem singleItem18 = new singleItem();
            //singleItem18.itemCode = "engine_abnormal_sound";
            //singleItem18.detectResult = "";
            //singleItem18.evaluate = "";
            //listSingleItem.Add(singleItem18);


            ////发动机机油压力
            //singleItem singleItem19 = new singleItem();
            //singleItem19.itemCode = "oil_pressure";
            //singleItem19.detectResult = "";
            //singleItem19.evaluate = "";
            //listSingleItem.Add(singleItem19);


            ////发动机最低稳定转速
            //singleItem singleItem20 = new singleItem();
            //singleItem20.itemCode = "min_stable_speed";
            //singleItem20.detectResult = "";
            //singleItem20.evaluate = "";
            //listSingleItem.Add(singleItem20);


            //等速百公里油耗 3.5吨以上
            singleItem singleItem21 = new singleItem();
            singleItem21.itemCode = "constant_speed_fuel_consumption_per_hundred_kilometers";
            singleItem21.detectResult = "";
            singleItem21.evaluate = "";
            listSingleItem.Add(singleItem21);


            ////客车防雨密封性
            //singleItem singleItem22 = new singleItem();
            //singleItem22.itemCode = "rainproof";
            //singleItem22.detectResult = "";
            //singleItem22.evaluate = "";
            //listSingleItem.Add(singleItem22);


            //喇叭声级
            singleItem singleItem23 = new singleItem();
            singleItem23.itemCode = "horn_sound";
            singleItem23.detectResult = "";
            singleItem23.evaluate = "";
            listSingleItem.Add(singleItem23);


            ////蓄电池稳定电压
            //singleItem singleItem24 = new singleItem();
            //singleItem24.itemCode = "battery_voltage";
            //singleItem24.detectResult = "";
            //singleItem24.evaluate = "";
            //listSingleItem.Add(singleItem24);


            ////起动电流
            //singleItem singleItem25 = new singleItem();
            //singleItem25.itemCode = "starting_current";
            //singleItem25.detectResult = "";
            //singleItem25.evaluate = "";
            //listSingleItem.Add(singleItem25);


            ////起动前电压
            //singleItem singleItem26 = new singleItem();
            //singleItem26.itemCode = "pre_starting_voltage";
            //singleItem26.detectResult = "";
            //singleItem26.evaluate = "";
            //listSingleItem.Add(singleItem26);


            ////蓄电池内阻
            //singleItem singleItem27 = new singleItem();
            //singleItem27.itemCode = "attery_inter_resistance";
            //singleItem27.detectResult = "";
            //singleItem27.evaluate = "";
            //listSingleItem.Add(singleItem27);


            ////最小缸压/标准缸压
            //singleItem singleItem28 = new singleItem();
            //singleItem28.itemCode = "standard_cylinder_pressure";
            //singleItem28.detectResult = "";
            //singleItem28.evaluate = "";
            //listSingleItem.Add(singleItem28);


            ////缸压与平均缸压最大反差
            //singleItem singleItem29 = new singleItem();
            //singleItem29.itemCode = "max_contrast_of_cylinder_pressure_and_average_cylinder_pressure";
            //singleItem29.detectResult = "";
            //singleItem29.evaluate = "";
            //listSingleItem.Add(singleItem29);


            ////制动力和（整车）
            //singleItem singleItem30 = new singleItem();
            //singleItem30.itemCode = "brake_force_of_whole_vehicle";
            //singleItem30.detectResult = "";
            //singleItem30.evaluate = "";
            //listSingleItem.Add(singleItem30);


            ////制动力和（一轴）
            //singleItem singleItem31 = new singleItem();
            //singleItem31.itemCode = "brake_force_of_first_axle";
            //singleItem31.detectResult = "";
            //singleItem31.evaluate = "";
            //listSingleItem.Add(singleItem31);


            //车速表（km/h）
            singleItem singleItem32 = new singleItem();
            singleItem32.itemCode = "speed_meter";
            singleItem32.detectResult = "";
            singleItem32.evaluate = "";
            listSingleItem.Add(singleItem32);


            //喇叭声压级（dB(A)）
            singleItem singleItem33 = new singleItem();
            singleItem33.itemCode = "horn_sound_pressure_level";
            singleItem33.detectResult = "";
            singleItem33.evaluate = "";
            listSingleItem.Add(singleItem33);


            //侧滑量：第一转向轮
            singleItem singleItem34 = new singleItem();
            singleItem34.itemCode = "slip_first_wheel";
            singleItem34.detectResult = "";
            singleItem34.evaluate = "";
            listSingleItem.Add(singleItem34);


            //侧滑量：第二转向轮
            singleItem singleItem35 = new singleItem();
            singleItem35.itemCode = "slip_second_wheel";
            singleItem35.detectResult = "";
            singleItem35.evaluate = "";
            listSingleItem.Add(singleItem35);


            //不合格项汇总
            //singleItem singleItem36 = new singleItem();
            //singleItem36.itemCode = "unqualified_items";
            //singleItem36.detectResult = "";
            //singleItem36.evaluate = "";
            //listSingleItem.Add(singleItem36);


            ////驻车制动率
            //singleItem singleItem37 = new singleItem();
            //singleItem37.itemCode = "park_rake_rate";
            //singleItem37.detectResult = "";
            //singleItem37.evaluate = "";
            //listSingleItem.Add(singleItem37);


            ////前束

            //singleItem singleItem38 = new singleItem();
            //singleItem38.itemCode = "toe_in";
            //singleItem38.detectResult = "";
            //singleItem38.evaluate = "";
            //listSingleItem.Add(singleItem38);
            #endregion

            //record.singleItem = listSingleItem;

            #region 打印图片资料(printImage)
            //record.printImage = new List<printImage>();
            RESULT_IMAGE_BLL M_RESULT_IMAGE_BLL = new RESULT_IMAGE_BLL();
            var vRESULT_IMAGE = M_RESULT_IMAGE_BLL.GetModel(strJCLSH);
            RESULT_IMAGE T_RESULT_IMAGE;
            for (int i = 0; i < lstJCLSH.Count; i++)
            {
                T_RESULT_IMAGE = M_RESULT_IMAGE_BLL.GetModel(lstJCLSH[i]);

                if (i == 0)
                {
                    vRESULT_IMAGE = T_RESULT_IMAGE;
                }

                mR.AutoMapping(T_RESULT_IMAGE, vRESULT_IMAGE);
            }

            if (string.IsNullOrEmpty(vRESULT_IMAGE.JCLSH) == false)
            {
                byte[] bLampImage = vRESULT_IMAGE.Lamp_Image;
                byte[] bBrakeImage = vRESULT_IMAGE.Brake_Image;
                byte[] bPower_Image = vRESULT_IMAGE.Power_Image;

                List<printImage> listPrintImg = new List<printImage>();

                printImage printImgBrake = new printImage();
                printImgBrake.imageType = "1";
                //printImgBrake.base64Image = Convert.ToBase64String(bBrakeImage);
                printImgBrake.base64Image = "brake img";
                listPrintImg.Add(printImgBrake);

                printImage printImgPower = new printImage();
                printImgPower.imageType = "3";
                //printImgPower.base64Image = Convert.ToBase64String(bPower_Image);
                printImgPower.base64Image = "power img";
                listPrintImg.Add(printImgPower);

                printImage printImgLamp = new printImage();
                printImgLamp.imageType = "2";
                //printImgLamp.base64Image = Convert.ToBase64String(bLampImage);
                printImgLamp.base64Image = "lamp img";
                listPrintImg.Add(printImgLamp);

                printImage printImgLampVin = new printImage();
                printImgLampVin.imageType = "4";
                printImgLampVin.base64Image = "lamp vin";
                listPrintImg.Add(printImgLampVin);
            //  record.printImage = listPrintImg;
            }

            #endregion
            dic.Add("detectRecord", record);
            #endregion

            #region 图片资料
            List<image> listImg = new List<image>();

            #endregion
            dic.Add("image", listImg);

            #region 视频资料
            List<video> listVideo = new List<video>();

            #endregion
            dic.Add("video", listVideo);

            #region 检验报告单
            detectReport detectRpt = new detectReport();
            detectRpt.note = "";
            detectRpt.detectResult = "一级";

            #region 单车（牵引车）基本信息(tractorInfo)
            tractorInfo tractInfo = new tractorInfo();
            tractInfo.vehicleNo = vRESULT_VEHICLE_INFO.HPHM;
            tractInfo.client = vRESULT_VEHICLE_INFO.SYR;
            tractInfo.vehicleType = vRESULT_VEHICLE_INFO.CLZLDH;
            tractInfo.vehicleBrandModel = vRESULT_VEHICLE_INFO.PPXH;
            tractInfo.transCertificateCode = vRESULT_VEHICLE_INFO.YYZH;
            tractInfo.registDate = Convert.ToDateTime(vRESULT_VEHICLE_INFO.CCDJRQ).ToString("yyyyMMdd");
            tractInfo.productionDate =Convert.ToDateTime(vRESULT_VEHICLE_INFO.CCRQ).ToString("yyyyMMdd");
            tractInfo.vehicleBodyColor = this.GetVehicleColorCode(vRESULT_VEHICLE_INFO.HPZLDH, vRESULT_VEHICLE_INFO.HPHM);
            tractInfo.vinNo = vRESULT_VEHICLE_INFO.VIN;
            tractInfo.engineNo = vRESULT_VEHICLE_INFO.FDJH;
            tractInfo.administrativeAera = vRESULT_VEHICLE_INFO.XZQY;
            tractInfo.driveLicense = "";
            #endregion
            detectRpt.tractorInfo = tractInfo;
            if (bSFQCLS)
            {
                #region 挂车基本信息(trailerInfo)
                trailerInfo trailInfo = new trailerInfo();
                trailInfo.vehicleNo = vRESULT_VEHICLE_INFO.GLCHPHM;
                trailInfo.client = "";
                trailInfo.vehicleType = "";
                trailInfo.vehicleBrandModel = "";
                trailInfo.transCertificateCode = "";
                trailInfo.registDate = "";
                trailInfo.productionDate = "";
                trailInfo.vinNo = "";
                trailInfo.driveLicense = "";

                #endregion
                detectRpt.trailerInfo = trailInfo;
            }

            #region 人工检验结果(manualTestResult)
            RESULT_CHASISS_MANUAL_ZJ_BLL M_RESULT_CHASISS_MANUAL_ZJ_BLL = new RESULT_CHASISS_MANUAL_ZJ_BLL();
            var vRESULT_CHASISS_MANUAL_ZJ = M_RESULT_CHASISS_MANUAL_ZJ_BLL.GetModel(strJCLSH);

            RESULT_CHASISS_MANUAL_ZJ T_RESULT_CHASISS_MANUAL_ZJ;

            for (int i = 0; i < lstJCLSH.Count; i++)
            {
                T_RESULT_CHASISS_MANUAL_ZJ = M_RESULT_CHASISS_MANUAL_ZJ_BLL.GetModel(lstJCLSH[i]);

                if (i == 0)
                {
                    vRESULT_CHASISS_MANUAL_ZJ = T_RESULT_CHASISS_MANUAL_ZJ;
                }

                mR.AutoMapping(T_RESULT_CHASISS_MANUAL_ZJ, vRESULT_CHASISS_MANUAL_ZJ);
            }
            if (!string.IsNullOrEmpty(vRESULT_CHASISS_MANUAL_ZJ.JCLSH))
            {
                List<manualTestResult> listManualTest = new List<manualTestResult>();
                //1	唯一性认定
                manualTestResult manualTest1 = new manualTestResult();
                manualTest1.detectCls = "1";
                manualTest1.evaluate = vRESULT_CHASISS_MANUAL_ZJ.WYXRD_PD.To_Net_ZJPD();
                manualTest1.unqualifiedItem = "";
                listManualTest.Add(manualTest1);

                //2	故障信息诊断
                manualTestResult manualTest2 = new manualTestResult();
                manualTest2.detectCls = "2";
                manualTest2.evaluate = vRESULT_CHASISS_MANUAL_ZJ.ZCGZZD_PD.To_Net_ZJPD();
                manualTest2.unqualifiedItem = "";
                listManualTest.Add(manualTest2);

                //3	外观检查
                manualTestResult manualTest3 = new manualTestResult();
                manualTest3.detectCls = "3";
                manualTest3.evaluate = vRESULT_CHASISS_MANUAL_ZJ.WGJC_PD.To_Net_ZJPD();
                manualTest3.unqualifiedItem = "";
                listManualTest.Add(manualTest3);

                //4	运行检查
                manualTestResult manualTest4 = new manualTestResult();
                manualTest4.detectCls = "4";
                manualTest4.evaluate = vRESULT_CHASISS_MANUAL_ZJ.YXJC_PD.To_Net_ZJPD();
                manualTest4.unqualifiedItem = "";
                listManualTest.Add(manualTest4);

                //5	底盘检查
                manualTestResult manualTest5 = new manualTestResult();
                manualTest5.detectCls = "5";
                manualTest5.evaluate = vRESULT_CHASISS_MANUAL_ZJ.DPBJ_PD.To_Net_ZJPD();
                manualTest5.unqualifiedItem = "";
                listManualTest.Add(manualTest5);

                //6	核查评定
                manualTestResult manualTest6 = new manualTestResult();
                manualTest6.detectCls = "6";
                manualTest6.evaluate = vRESULT_CHASISS_MANUAL_ZJ.HCPD_PD.To_Net_ZJPD();
                manualTest6.unqualifiedItem = "";
                listManualTest.Add(manualTest6);
                detectRpt.manualTestResult = listManualTest;
            }
            if (detectRpt.manualTestResult == null || detectRpt.manualTestResult.Count == 0)
            {
                MessageBox.Show("缺少人工项目信息,不能上传");
                return null;
            }
            #endregion

            #region 性能检测(performanceItem)
            List<performanceItem> listPerforItem = new List<performanceItem>();

            //动力性(km/h)
            if (vDPCG != null)
            {
                performanceItem perforItem1 = new performanceItem();
                perforItem1.itemCode = "power";
                perforItem1.detectData = vDPCG.GK_JZL;
                perforItem1.standardValue = egt + vDPCG.GK_DBGL;
                perforItem1.evaluate = vDPCG.GK_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem1);



                //经济性(L/100km)
                performanceItem perforItem2 = new performanceItem();
                perforItem2.itemCode = "economy";
                perforItem2.detectData = vDPCG.YH_SCZ;
                perforItem2.standardValue = elt + vDPCG.YH_BZ;
                perforItem2.evaluate = vDPCG.YH_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem2);
            }

            if (vRESULT_BRAKE_ZJ != null)
            {
                //一轴制动率(%)
                performanceItem perforItem3 = new performanceItem();
                perforItem3.itemCode = "brake_rate_1";
                perforItem3.detectData = vRESULT_BRAKE_ZJ.YZZDLV;
                perforItem3.standardValue = egt + vRESULT_BRAKE_ZJ.YZZDLVBZ;
                perforItem3.evaluate = vRESULT_BRAKE_ZJ.YZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem3);


                //一轴不平衡率(%)
                performanceItem perforItem4 = new performanceItem();
                perforItem4.itemCode = "unbalance_rate_1";
                perforItem4.detectData = vRESULT_BRAKE_ZJ.YZBPHLV;
                perforItem4.standardValue = elt + vRESULT_BRAKE_ZJ.YZBPHLVBZ;
                perforItem4.evaluate = vRESULT_BRAKE_ZJ.YZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem4);


                //一轴左轮阻滞率(%)
                performanceItem perforItem5 = new performanceItem();
                perforItem5.itemCode = "retarding_force_left_1";
                perforItem5.detectData = vRESULT_BRAKE_ZJ.YZZZZLV;
                perforItem5.standardValue = elt + vRESULT_BRAKE_ZJ.YZZZLVXZBZ;
                perforItem5.evaluate = vRESULT_BRAKE_ZJ.YZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem5);


                //一轴右轮阻滞率(%)
                performanceItem perforItem6 = new performanceItem();
                perforItem6.itemCode = "retarding_force_right_1";
                perforItem6.detectData = vRESULT_BRAKE_ZJ.YZYZZLV;
                perforItem6.standardValue = elt + vRESULT_BRAKE_ZJ.YZZZLVXZBZ;
                perforItem6.evaluate = vRESULT_BRAKE_ZJ.YZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem6);


                //二轴制动率(%)
                performanceItem perforItem7 = new performanceItem();
                perforItem7.itemCode = "brake_rate_2";
                perforItem7.detectData = vRESULT_BRAKE_ZJ.EZZDLV;
                perforItem7.standardValue = egt + vRESULT_BRAKE_ZJ.EZZDLVBZ;
                perforItem7.evaluate = vRESULT_BRAKE_ZJ.EZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem7);


                //二轴不平衡率(%)
                performanceItem perforItem8 = new performanceItem();
                perforItem8.itemCode = "unbalance_rate_2";
                perforItem8.detectData = vRESULT_BRAKE_ZJ.EZBPHLV;
                perforItem8.standardValue = elt + vRESULT_BRAKE_ZJ.EZBPHLVBZ;
                perforItem8.evaluate = vRESULT_BRAKE_ZJ.EZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem8);


                //二轴左轮阻滞率(%)
                performanceItem perforItem9 = new performanceItem();
                perforItem9.itemCode = "retarding_force_left_2";
                perforItem9.detectData = vRESULT_BRAKE_ZJ.EZZZZLV;
                perforItem9.standardValue = elt + vRESULT_BRAKE_ZJ.EZZZLVXZBZ;
                perforItem9.evaluate = vRESULT_BRAKE_ZJ.EZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem9);


                //二轴右轮阻滞率(%)
                performanceItem perforItem10 = new performanceItem();
                perforItem10.itemCode = "retarding_force_right_2";
                perforItem10.detectData = vRESULT_BRAKE_ZJ.EZYZZLV;
                perforItem10.standardValue = elt + vRESULT_BRAKE_ZJ.EZZZLVXZBZ;
                perforItem10.evaluate = vRESULT_BRAKE_ZJ.EZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem10);


                //三轴制动率(%)
                performanceItem perforItem11 = new performanceItem();
                perforItem11.itemCode = "brake_rate_3";
                perforItem11.detectData = vRESULT_BRAKE_ZJ.SZZDLV;
                perforItem11.standardValue = egt + vRESULT_BRAKE_ZJ.SZZDLVBZ;
                perforItem11.evaluate = vRESULT_BRAKE_ZJ.SZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem11);


                //三轴不平衡率(%)
                performanceItem perforItem12 = new performanceItem();
                perforItem12.itemCode = "unbalance_rate_3";
                perforItem12.detectData = vRESULT_BRAKE_ZJ.SZBPHLV;
                perforItem12.standardValue = elt + vRESULT_BRAKE_ZJ.SZBPHLVBZ;
                perforItem12.evaluate = vRESULT_BRAKE_ZJ.SZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem12);


                //三轴左轮阻滞率(%)
                performanceItem perforItem13 = new performanceItem();
                perforItem13.itemCode = "retarding_force_left_3";
                perforItem13.detectData = vRESULT_BRAKE_ZJ.SZZZZLV;
                perforItem13.standardValue = elt + vRESULT_BRAKE_ZJ.SZZZLVXZBZ;
                perforItem13.evaluate = vRESULT_BRAKE_ZJ.SZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem13);


                //三轴右轮阻滞率(%)
                performanceItem perforItem14 = new performanceItem();
                perforItem14.itemCode = "retarding_force_right_3";
                perforItem14.detectData = vRESULT_BRAKE_ZJ.SZYZZLV;
                perforItem14.standardValue = elt + vRESULT_BRAKE_ZJ.SZZZLVXZBZ;
                perforItem14.evaluate = vRESULT_BRAKE_ZJ.SZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem14);


                //四轴制动率(%)
                performanceItem perforItem15 = new performanceItem();
                perforItem15.itemCode = "brake_rate_4";
                perforItem15.detectData = vRESULT_BRAKE_ZJ.SIZZDLV;
                perforItem15.standardValue = egt + vRESULT_BRAKE_ZJ.SIZZDLVBZ;
                perforItem15.evaluate = vRESULT_BRAKE_ZJ.SIZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem15);


                //四轴不平衡率(%)
                performanceItem perforItem16 = new performanceItem();
                perforItem16.itemCode = "unbalance_rate_4";
                perforItem16.detectData = vRESULT_BRAKE_ZJ.SIZBPHLV;
                perforItem16.standardValue = elt + vRESULT_BRAKE_ZJ.SIZBPHLVBZ;
                perforItem16.evaluate = vRESULT_BRAKE_ZJ.SIZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem16);


                //四轴左轮阻滞率(%)
                performanceItem perforItem17 = new performanceItem();
                perforItem17.itemCode = "retarding_force_left_4";
                perforItem17.detectData = vRESULT_BRAKE_ZJ.SIZZZZLV;
                perforItem17.standardValue = elt + vRESULT_BRAKE_ZJ.SIZZZLVXZBZ;
                perforItem17.evaluate = vRESULT_BRAKE_ZJ.SIZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem17);


                //四轴右轮阻滞率(%)
                performanceItem perforItem18 = new performanceItem();
                perforItem18.itemCode = "retarding_force_right_4";
                perforItem18.detectData = vRESULT_BRAKE_ZJ.SIZYZZLV;
                perforItem18.standardValue = elt + vRESULT_BRAKE_ZJ.SIZZZLVXZBZ;
                perforItem18.evaluate = vRESULT_BRAKE_ZJ.SIZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem18);


                //五轴制动率(%)
                performanceItem perforItem19 = new performanceItem();
                perforItem19.itemCode = "brake_rate_5";
                perforItem19.detectData = vRESULT_BRAKE_ZJ.WZZDLV;
                perforItem19.standardValue = egt + vRESULT_BRAKE_ZJ.WZZDLVBZ;
                perforItem19.evaluate = vRESULT_BRAKE_ZJ.WZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem19);


                //五轴不平衡率(%)
                performanceItem perforItem20 = new performanceItem();
                perforItem20.itemCode = "unbalance_rate_5";
                perforItem20.detectData = vRESULT_BRAKE_ZJ.WZBPHLV;
                perforItem20.standardValue = elt + vRESULT_BRAKE_ZJ.WZBPHLVBZ;
                perforItem20.evaluate = vRESULT_BRAKE_ZJ.WZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem20);


                //五轴左轮阻滞率(%)
                performanceItem perforItem21 = new performanceItem();
                perforItem21.itemCode = "retarding_force_left_5";
                perforItem21.detectData = vRESULT_BRAKE_ZJ.WZZZZLV;
                perforItem21.standardValue = elt + vRESULT_BRAKE_ZJ.WZZZLVXZBZ;
                perforItem21.evaluate = vRESULT_BRAKE_ZJ.WZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem21);


                //五轴右轮阻滞率(%)
                performanceItem perforItem22 = new performanceItem();
                perforItem22.itemCode = "retarding_force_right_5";
                perforItem22.detectData = vRESULT_BRAKE_ZJ.WZYZZLV;
                perforItem22.standardValue = elt + vRESULT_BRAKE_ZJ.WZZZLVXZBZ;
                perforItem22.evaluate = vRESULT_BRAKE_ZJ.WZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem22);


                //六轴制动率(%)
                performanceItem perforItem23 = new performanceItem();
                perforItem23.itemCode = "brake_rate_6";
                perforItem23.detectData = vRESULT_BRAKE_ZJ.LZZDLV;
                perforItem23.standardValue = egt + vRESULT_BRAKE_ZJ.LZZDLVBZ;
                perforItem23.evaluate = vRESULT_BRAKE_ZJ.LZZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem23);


                //六轴不平衡率(%)
                performanceItem perforItem24 = new performanceItem();
                perforItem24.itemCode = "unbalance_rate_6";
                perforItem24.detectData = vRESULT_BRAKE_ZJ.LZBPHLV;
                perforItem24.standardValue = elt + vRESULT_BRAKE_ZJ.LZBPHLVBZ;
                perforItem24.evaluate = vRESULT_BRAKE_ZJ.LZBPHLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem24);


                //六轴左轮阻滞率(%)
                performanceItem perforItem25 = new performanceItem();
                perforItem25.itemCode = "retarding_force_left_6";
                perforItem25.detectData = vRESULT_BRAKE_ZJ.LZZZZLV;
                perforItem25.standardValue = elt + vRESULT_BRAKE_ZJ.LZZZLVXZBZ;
                perforItem25.evaluate = vRESULT_BRAKE_ZJ.LZZZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem25);


                //六轴右轮阻滞率(%)
                performanceItem perforItem26 = new performanceItem();
                perforItem26.itemCode = "retarding_force_right_6";
                perforItem26.detectData = vRESULT_BRAKE_ZJ.LZYZZLV;
                perforItem26.standardValue = elt + vRESULT_BRAKE_ZJ.LZZZLVXZBZ;
                perforItem26.evaluate = vRESULT_BRAKE_ZJ.LZYZZL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem26);


                //单车（牵引车）整车制动率(%)
                performanceItem perforItem27 = new performanceItem();
                perforItem27.itemCode = "tractor_whole_vehicle_brake_rate";
                perforItem27.detectData = vRESULT_BRAKE_ZJ.ZCZDLV;
                perforItem27.standardValue = egt + vRESULT_BRAKE_ZJ.ZCZDLVBZ;
                perforItem27.evaluate = vRESULT_BRAKE_ZJ.ZCZDLV_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem27);


                if (bSFQCLS)
                {
                    //挂车整车制动率(%)
                    performanceItem perforItem28 = new performanceItem();
                    perforItem28.itemCode = "trailer_whole_vehicle_brake_rate";
                    perforItem28.detectData = "";
                    perforItem28.standardValue = egt + "";
                    perforItem28.evaluate = "";
                    listPerforItem.Add(perforItem28);


                    //单车（牵引车）驻车制动率(%)
                    performanceItem perforItem29 = new performanceItem();
                    perforItem29.itemCode = "tractor_whole_vehicle_park_brake_rate";
                    perforItem29.detectData = vRESULT_BRAKE_ZJ.ZCSZDLV;
                    perforItem29.standardValue = egt + vRESULT_BRAKE_ZJ.SZDLVBZ;
                    perforItem29.evaluate = vRESULT_BRAKE_ZJ.SZDLV_PD.To_Net_ZJPD();
                    listPerforItem.Add(perforItem29);


                    //列车整车驻车制动率(%)
                    performanceItem perforItem30 = new performanceItem();
                    perforItem30.itemCode = "trailer_whole_vehicle_park_brake_rate";
                    perforItem30.detectData = "";
                    perforItem30.standardValue = egt + "";
                    perforItem30.evaluate = "";
                    listPerforItem.Add(perforItem30);


                    //列车制动时序
                    performanceItem perforItem31 = new performanceItem();
                    perforItem31.itemCode = "brake_seq";
                    perforItem31.detectData = "";
                    perforItem31.standardValue = egt + "";
                    perforItem31.evaluate = "";
                    listPerforItem.Add(perforItem31);


                    //列车制动协调时间（s）
                    performanceItem perforItem32 = new performanceItem();
                    perforItem32.itemCode = "brake_coordinate_time";
                    perforItem32.detectData = "";
                    perforItem32.standardValue = egt + "";
                    perforItem32.evaluate = "";
                    listPerforItem.Add(perforItem32);


                    //牵引车/列车整车制动率比(%)
                    performanceItem perforItem33 = new performanceItem();
                    perforItem33.itemCode = "vehicle_brake_rate_tractor_train";
                    perforItem33.detectData = "";
                    perforItem33.standardValue = egt + "";
                    perforItem33.evaluate = "";
                    listPerforItem.Add(perforItem33);


                    //挂车/列车整车制动率比(%)
                    performanceItem perforItem34 = new performanceItem();
                    perforItem34.itemCode = "vehicle_brake_rate_trailer_train";
                    perforItem34.detectData = "";
                    perforItem34.standardValue = egt + "";
                    perforItem34.evaluate = "";
                    listPerforItem.Add(perforItem34);
                }
            }

            if (strJYXM.Contains("R"))
            {
                //路试MFDD（m/s²）
                performanceItem perforItem35 = new performanceItem();
                perforItem35.itemCode = "mfdd";
                perforItem35.detectData = "";
                perforItem35.standardValue = egt + "";
                perforItem35.evaluate = "";
                listPerforItem.Add(perforItem35);


                //路试制动稳定性
                performanceItem perforItem36 = new performanceItem();
                perforItem36.itemCode = "road_test_brake_stability";
                perforItem36.detectData = "";
                perforItem36.standardValue = "稳定";
                perforItem36.evaluate = "";
                listPerforItem.Add(perforItem36);


                //路试坡道驻车情况
                performanceItem perforItem37 = new performanceItem();
                perforItem37.itemCode = "road_test_park_result";
                perforItem37.detectData = "";
                perforItem37.standardValue = "不溜坡";
                perforItem37.evaluate = "";
                listPerforItem.Add(perforItem37);


                //路试制动距离(m)
                performanceItem perforItem38 = new performanceItem();
                perforItem38.itemCode = "road_test_brake_distance";
                perforItem38.detectData = "";
                perforItem38.standardValue = elt + "";
                perforItem38.evaluate = "";
                listPerforItem.Add(perforItem38);
            }

            if (strJYXM.Contains("X1") && vRESULT_SDS != null)
            {
                //高怠速HC（10-6）
                performanceItem perforItem39 = new performanceItem();
                perforItem39.itemCode = "high_hc";
                perforItem39.detectData = vRESULT_SDS.GDSHC;
                perforItem39.standardValue = vRESULT_SDS.GDSHCXZ;
                perforItem39.evaluate = vRESULT_SDS.GDSHC_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem39);


                //高怠速CO（%）
                performanceItem perforItem40 = new performanceItem();
                perforItem40.itemCode = "high_co";
                perforItem40.detectData = vRESULT_SDS.GDSCO;
                perforItem40.standardValue = elt + vRESULT_SDS.GDSCOXZ;
                perforItem40.evaluate = vRESULT_SDS.GDSCO_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem40);


                //高怠速λ
                performanceItem perforItem41 = new performanceItem();
                perforItem41.itemCode = "high_l";
                perforItem41.detectData = vRESULT_SDS.GLKQXS;
                perforItem41.standardValue = elt + vRESULT_SDS.GLKQXSSX;
                perforItem41.evaluate = vRESULT_SDS.GLKQXS_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem41);


                //怠速HC（10-6）
                performanceItem perforItem42 = new performanceItem();
                perforItem42.itemCode = "low_hc";
                perforItem42.detectData = vRESULT_SDS.DSHC;
                perforItem42.standardValue = vRESULT_SDS.DSHCXZ;
                perforItem42.evaluate = vRESULT_SDS.DSHC_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem42);


                //怠速CO（%）
                performanceItem perforItem43 = new performanceItem();
                perforItem43.itemCode = "low_co";
                perforItem43.detectData = vRESULT_SDS.DSCO;
                perforItem43.standardValue = elt + vRESULT_SDS.DSCOXZ;
                perforItem43.evaluate = vRESULT_SDS.DSCO_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem43);

            }

            if (strJYXM.Contains("X2") && vRESULT_ASM != null)
            {
                //稳态5025工况CO（%）
                performanceItem perforItem44 = new performanceItem();
                perforItem44.itemCode = "co_5025";
                perforItem44.detectData = vRESULT_ASM.CO5025JG;
                perforItem44.standardValue = elt + vRESULT_ASM.CO5025XZ;
                perforItem44.evaluate = vRESULT_ASM.CO5025_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem44);


                //稳态5025工况HC（10-6）
                performanceItem perforItem45 = new performanceItem();
                perforItem45.itemCode = "hc_5025";
                perforItem45.detectData = vRESULT_ASM.HC5025JG;
                perforItem45.standardValue = elt + vRESULT_ASM.HC5025XZ;
                perforItem45.evaluate = vRESULT_ASM.HC5025_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem45);


                //稳态5025工况NO（10-6）
                performanceItem perforItem46 = new performanceItem();
                perforItem46.itemCode = "no_5025";
                perforItem46.detectData = vRESULT_ASM.NO5025JG;
                perforItem46.standardValue = elt + vRESULT_ASM.NO5025XZ;
                perforItem46.evaluate = vRESULT_ASM.NO5025_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem46);


                //稳态2540工况CO（%）
                performanceItem perforItem47 = new performanceItem();
                perforItem47.itemCode = "co_2540";
                perforItem47.detectData = vRESULT_ASM.CO2540JG;
                perforItem47.standardValue = elt + vRESULT_ASM.CO2540XZ;
                perforItem47.evaluate = vRESULT_ASM.CO2540_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem47);


                //稳态2540工况HC（10-6）
                performanceItem perforItem48 = new performanceItem();
                perforItem48.itemCode = "hc_2540";
                perforItem48.detectData = vRESULT_ASM.HC2540JG;
                perforItem48.standardValue = elt + vRESULT_ASM.HC2540XZ;
                perforItem48.evaluate = vRESULT_ASM.HC2540_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem48);


                //稳态2540工况NO（10-6）
                performanceItem perforItem49 = new performanceItem();
                perforItem49.itemCode = "no_2540";
                perforItem49.detectData = vRESULT_ASM.NO2540JG;
                perforItem49.standardValue = elt + vRESULT_ASM.NO2540XZ;
                perforItem49.evaluate = vRESULT_ASM.NO2540_PD;
                listPerforItem.Add(perforItem49);
            }

            if (strJYXM.Contains("X3") && vRESULT_VMAS != null)
            {
                //简易瞬态工况CO（g/km）
                performanceItem perforItem50 = new performanceItem();
                perforItem50.itemCode = "vmas_co";
                perforItem50.detectData = vRESULT_VMAS.COJG;
                perforItem50.standardValue = elt + vRESULT_VMAS.COXZ;
                perforItem50.evaluate = vRESULT_VMAS.CO_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem50);


                //简易瞬态工况HC（g/km）
                performanceItem perforItem51 = new performanceItem();
                perforItem51.itemCode = "vmas_hc";
                perforItem51.detectData = vRESULT_VMAS.HCJG;
                perforItem51.standardValue = elt + vRESULT_VMAS.HCXZ;
                perforItem51.evaluate = vRESULT_VMAS.HC_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem51);


                //简易瞬态工况NO（g/km）
                performanceItem perforItem52 = new performanceItem();
                perforItem52.itemCode = "vmas_no";
                perforItem52.detectData = vRESULT_VMAS.NOJG;
                perforItem52.standardValue = elt + vRESULT_VMAS.NOXZ;
                perforItem52.evaluate = vRESULT_VMAS.NO_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem52);


                //简易瞬态工况HC+NO（g/km）
                performanceItem perforItem53 = new performanceItem();
                perforItem53.itemCode = "vmas_hc_no";
                perforItem53.detectData = vRESULT_VMAS.HC_NOJG;
                perforItem53.standardValue = elt + vRESULT_VMAS.HC_NOXZ;
                perforItem53.evaluate = vRESULT_VMAS.HC_NO_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem53);

            }

            if (strJYXM.Contains("X4") && vRESULT_ZYJS != null)
            {
                //光吸收系数（m-1）
                performanceItem perforItem54 = new performanceItem();
                perforItem54.itemCode = "ratio";
                perforItem54.detectData = vRESULT_ZYJS.ZYJSPJZ;
                perforItem54.standardValue = elt + vRESULT_ZYJS.ZYJSXZ;
                perforItem54.evaluate = vRESULT_ZYJS.ZYJS_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem54);
            }

            if (strJYXM.Contains("X6") && vRESULT_ZYJS != null)
            {
                //滤纸烟度（BSU）
                performanceItem perforItem55 = new performanceItem();
                perforItem55.itemCode = "smoke";
                perforItem55.detectData = vRESULT_ZYJS.ZYJSPJZ;
                perforItem55.standardValue = elt + vRESULT_ZYJS.ZYJSXZ;
                perforItem55.evaluate = vRESULT_ZYJS.ZYJS_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem55);
            }

            if (strJYXM.Contains("X5") && vRESULT_LD != null)
            {
                //加载减速工况100%（m-1）
                performanceItem perforItem56 = new performanceItem();
                perforItem56.itemCode = "load_deceleration_condition_100";
                perforItem56.detectData = vRESULT_LD.GXSXS100;
                perforItem56.standardValue = elt + vRESULT_LD.GXSXSXZ;
                perforItem56.evaluate = "";
                listPerforItem.Add(perforItem56);


                //加载减速工况90%（m-1）
                performanceItem perforItem57 = new performanceItem();
                perforItem57.itemCode = "load_deceleration_condition_90";
                perforItem57.detectData = vRESULT_LD.GXSXS90;
                perforItem57.standardValue = elt + vRESULT_LD.GXSXSXZ;
                perforItem57.evaluate = "";
                listPerforItem.Add(perforItem57);


                //加载减速工况80%（m-1）
                performanceItem perforItem58 = new performanceItem();
                perforItem58.itemCode = "load_deceleration_condition_80";
                perforItem58.detectData = vRESULT_LD.GXSXS80;
                perforItem58.standardValue = elt + vRESULT_LD.GXSXSXZ;
                perforItem58.evaluate = "";
                listPerforItem.Add(perforItem58);


                //实测最大轮边功率（kw）
                performanceItem perforItem59 = new performanceItem();
                perforItem59.itemCode = "max_wheel_side_power";
                perforItem59.detectData = vRESULT_LD.GLJG;
                perforItem59.standardValue = egt + vRESULT_LD.GLXZ;
                perforItem59.evaluate = vRESULT_LD.GL_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem59);
            }

            if (strJYXM.Contains("H") && vRESULT_LAMP_ZJ != null)
            {
                //左外灯远光光强(cd)
                performanceItem perforItem60 = new performanceItem();
                perforItem60.itemCode = "left_out_far_light_intensity";
                perforItem60.detectData = vRESULT_LAMP_ZJ.ZWDYGGQ;
                perforItem60.standardValue = egt + vRESULT_LAMP_ZJ.DGGQXZ;
                perforItem60.evaluate = vRESULT_LAMP_ZJ.ZWDYGGQ_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem60);


                //左外灯远光垂直偏移量(H)
                performanceItem perforItem61 = new performanceItem();
                perforItem61.itemCode = "left_out_far_light_vertical_offset";
                perforItem61.detectData = vRESULT_LAMP_ZJ.ZWDYGCZPY;
                perforItem61.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.YGCZPYXZXX, vRESULT_LAMP_ZJ.YGCZPYXZSX);
                perforItem61.evaluate = vRESULT_LAMP_ZJ.ZWDYGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem61);


                //左外灯远光水平偏移量(mm/10m)
                performanceItem perforItem62 = new performanceItem();
                perforItem62.itemCode = "left_out_far_light_horizontal_offset";
                perforItem62.detectData = vRESULT_LAMP_ZJ.ZWDYGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.ZWDYGSPPYL : R + vRESULT_LAMP_ZJ.ZWDYGSPPYL;
                perforItem62.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.YGZDZPXZ, R + vRESULT_LAMP_ZJ.YGZDYPXZ);
                perforItem62.evaluate = vRESULT_LAMP_ZJ.ZWDYGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem62);


                //左外灯近光垂直偏移量(H)
                performanceItem perforItem63 = new performanceItem();
                perforItem63.itemCode = "left_in_near_light_vertical_offset";
                perforItem63.detectData = vRESULT_LAMP_ZJ.ZWDJGCZPY;
                perforItem63.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.JGCZPYXZXX, vRESULT_LAMP_ZJ.JGCZPYXZSX);
                perforItem63.evaluate = vRESULT_LAMP_ZJ.ZWDJGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem63);


                //左外灯近光水平偏移量(mm/10m)
                performanceItem perforItem64 = new performanceItem();
                perforItem64.itemCode = "left_out_near_light_horizontal_offset";
                perforItem64.detectData = vRESULT_LAMP_ZJ.ZWDJGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.ZWDJGSPPYL : R + vRESULT_LAMP_ZJ.ZWDJGSPPYL;
                perforItem64.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.JGZDZPXZ, R + vRESULT_LAMP_ZJ.JGZDYPXZ);
                perforItem64.evaluate = vRESULT_LAMP_ZJ.ZWDJGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem64);


                //左内灯远光光强(cd)
                performanceItem perforItem65 = new performanceItem();
                perforItem65.itemCode = "left_in_far_light_intensity";
                perforItem65.detectData = vRESULT_LAMP_ZJ.ZNDYGGQ;
                perforItem65.standardValue = egt + vRESULT_LAMP_ZJ.DGGQXZ;
                perforItem65.evaluate = vRESULT_LAMP_ZJ.ZNDYGGQ_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem65);


                //左内灯远光垂直偏移量(H)
                performanceItem perforItem66 = new performanceItem();
                perforItem66.itemCode = "left_in_far_light_vertical_offset";
                perforItem66.detectData = vRESULT_LAMP_ZJ.ZNDYGCZPY;
                perforItem66.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.YGCZPYXZXX, vRESULT_LAMP_ZJ.YGCZPYXZSX); ;
                perforItem66.evaluate = vRESULT_LAMP_ZJ.ZNDYGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem66);


                //左内灯远光水平偏移量(mm/10m)
                performanceItem perforItem67 = new performanceItem();
                perforItem67.itemCode = "left_in_far_light_horizontal_offset";
                perforItem67.detectData = vRESULT_LAMP_ZJ.ZNDYGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.ZNDYGSPPYL : R + vRESULT_LAMP_ZJ.ZNDYGSPPYL;
                perforItem67.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.YGZDZPXZ, R + vRESULT_LAMP_ZJ.YGZDYPXZ);
                perforItem67.evaluate = vRESULT_LAMP_ZJ.ZNDYGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem67);


                //右外灯远光光强(cd)
                performanceItem perforItem68 = new performanceItem();
                perforItem68.itemCode = "right_out_far_light_intensity";
                perforItem68.detectData = vRESULT_LAMP_ZJ.YWDYGGQ;
                perforItem68.standardValue = egt + vRESULT_LAMP_ZJ.DGGQXZ;
                perforItem68.evaluate = vRESULT_LAMP_ZJ.YWDYGGQ_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem68);


                //右外灯远光垂直偏移量(H)
                performanceItem perforItem69 = new performanceItem();
                perforItem69.itemCode = "right_out_far_light_vertical_offset";
                perforItem69.detectData = vRESULT_LAMP_ZJ.YWDYGCZPY;
                perforItem69.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.YGCZPYXZXX, vRESULT_LAMP_ZJ.YGCZPYXZSX);
                perforItem69.evaluate = vRESULT_LAMP_ZJ.YWDYGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem69);


                //右外灯远光水平偏移量(mm/10m)
                performanceItem perforItem70 = new performanceItem();
                perforItem70.itemCode = "right_out_far_light_horizontal_offset";
                perforItem70.detectData = vRESULT_LAMP_ZJ.YWDYGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.YWDYGSPPYL : R + vRESULT_LAMP_ZJ.YWDYGSPPYL;
                perforItem70.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.YGYDZPXZ, R + vRESULT_LAMP_ZJ.YGYDYPXZ);
                perforItem70.evaluate = vRESULT_LAMP_ZJ.YWDYGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem70);


                //右外灯近光垂直偏移量(H)
                performanceItem perforItem71 = new performanceItem();
                perforItem71.itemCode = "right_out_near_light_vertical_offset";
                perforItem71.detectData = vRESULT_LAMP_ZJ.YWDJGCZPY;
                perforItem71.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.JGCZPYXZXX, vRESULT_LAMP_ZJ.JGCZPYXZSX);
                perforItem71.evaluate = vRESULT_LAMP_ZJ.YWDJGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem71);


                //右外灯近光水平偏移量(mm/10m)
                performanceItem perforItem72 = new performanceItem();
                perforItem72.itemCode = "right_out_near_light_horizontal_offset";
                perforItem72.detectData = vRESULT_LAMP_ZJ.YWDJGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.YWDJGSPPYL : R + vRESULT_LAMP_ZJ.YWDJGSPPYL;
                perforItem72.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.JGYDZPXZ, R + vRESULT_LAMP_ZJ.JGYDYPXZ);
                perforItem72.evaluate = vRESULT_LAMP_ZJ.YWDJGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem72);


                //右内灯远光光强(cd)
                performanceItem perforItem73 = new performanceItem();
                perforItem73.itemCode = "right_in_far_light_intensity";
                perforItem73.detectData = vRESULT_LAMP_ZJ.YNDYGGQ;
                perforItem73.standardValue = egt + vRESULT_LAMP_ZJ.DGGQXZ;
                perforItem73.evaluate = vRESULT_LAMP_ZJ.YNDYGGQ_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem73);


                //右内灯远光垂直偏移量(H)
                performanceItem perforItem74 = new performanceItem();
                perforItem74.itemCode = "light_beam_vertical_offset";
                perforItem74.detectData = vRESULT_LAMP_ZJ.YNDYGCZPY;
                perforItem74.standardValue = string.Format("{0}~{1}", vRESULT_LAMP_ZJ.YGCZPYXZXX, vRESULT_LAMP_ZJ.YGCZPYXZSX);
                perforItem74.evaluate = vRESULT_LAMP_ZJ.YNDYGCZPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem74);


                //右内灯远光水平偏移量(mm/10m)
                performanceItem perforItem75 = new performanceItem();
                perforItem75.itemCode = "light_beam_horizontal_offset";
                perforItem75.detectData = vRESULT_LAMP_ZJ.YNDYGSPPYL.Contains("-") ? L + vRESULT_LAMP_ZJ.YNDYGSPPYL : R + vRESULT_LAMP_ZJ.YNDYGSPPYL;
                perforItem75.standardValue = string.Format("{0}~{1}", L + vRESULT_LAMP_ZJ.YGYDZPXZ, R + vRESULT_LAMP_ZJ.YGYDYPXZ);
                perforItem75.evaluate = vRESULT_LAMP_ZJ.YNDYGSPPY_PD.To_Net_ZJPD();
                listPerforItem.Add(perforItem75);

            }

            if (strJYXM.Contains("S1"))
            {
                //车速表（km/h）
                performanceItem perforItem76 = new performanceItem();
                perforItem76.itemCode = "speed_meter";
                perforItem76.detectData = "";
                perforItem76.standardValue = "";
                perforItem76.evaluate = "";
                listPerforItem.Add(perforItem76);
            }

            //喇叭声压级（dB(A)）
            performanceItem perforItem77 = new performanceItem();
            perforItem77.itemCode = "horn_sound_pressure_level";
            perforItem77.detectData = "";
            perforItem77.standardValue = "";
            perforItem77.evaluate = "";
            listPerforItem.Add(perforItem77);

            if (strJYXM.Contains("A1"))  //非独立悬架
            {
                //侧滑量：第一转向轮(m/km)
                performanceItem perforItem78 = new performanceItem();
                perforItem78.itemCode = "slip_first_wheel";
                perforItem78.detectData = "";
                perforItem78.standardValue = "";
                perforItem78.evaluate = "";
                listPerforItem.Add(perforItem78);


                //侧滑量：第二转向轮(m/km)
                performanceItem perforItem79 = new performanceItem();
                perforItem79.itemCode = "slip_second_wheel";
                perforItem79.detectData = "";
                perforItem79.standardValue = "";
                perforItem79.evaluate = "";
                listPerforItem.Add(perforItem79);
            }

            listPerforItem.RemoveAll(x => x.standardValue.Replace("左", "").Replace("~右", "").Replace(egt, "").Replace(elt, "").Equals(""));

            #endregion
            detectRpt.performanceItem = listPerforItem;
            #endregion
            if (!bSFQCLS)
            {
                //Convert to Base Class to Remove the Field for Trailer
                detectReport normalRpt = new detectReport();
                normalRpt = (detectReport)detectRpt;
                dic.Add("detectReport", normalRpt);
            }
            else
                dic.Add("detectReport", detectRpt);
            string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(dic);
            //strJson = File.ReadAllText("jsonResult.json");
            if (!bSFQCLS)
            {
                RemoveTrailerField(ref strJson);
            }

            File.WriteAllText("jsonResult.json", strJson);
            
            return strJson;
        }

        private void RemoveTrailerField(ref string szJson)
        {
            JObject json = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(szJson);
            json.Remove("overallSizeTrailer");//overallSizeTrailer
            JObject jar = json.SelectToken("detectReport") as JObject;
            if (null != jar)
            {
                jar.Remove("trailerInfo");
            }
            szJson = json.ToString();
            File.WriteAllText("jsonResult.json", szJson);
            
        }

        private void UploadZJRepoct(string szDetectRecordJson)
        {
            Func<string> uploadZJReport = new Func<string>(() =>
            {
                string szDetectRecordJsonString = ExtendMethod.GetJson(szDetectRecordJson, "shareDetectInfo");
                string szRequestResultJson =
                    ZJNet.ZJSendMsg(szDetectRecordJsonString,
                    UploadConfig.GetConfig().url,
                    IPCTypeConfig.GetUploadMethod(
                    IPCTypeConfig.IPCType.UPLOAD_ZJ_REPORT,
                    UploadConfig.GetConfig().accessToken));
                return szRequestResultJson;
            });

            uploadZJReport.BeginInvoke((asyncResult) =>
            {
                var result = uploadZJReport.EndInvoke(asyncResult);
                txtLog.BeginInvoke(m_cbUploadFinished, result);
            }, null);
        }

        private void Upload_Report_AJ()
        {
            RESULT_VEHICLE_INFO_BLL M_RESULT_VEHICLE_INFO_BLL = new RESULT_VEHICLE_INFO_BLL();
            string strJCLSH = txtJCLSH.Text.Trim();
            RESULT_VEHICLE_INFO vRESULT_VEHICLE_INFO = M_RESULT_VEHICLE_INFO_BLL.GetModel(strJCLSH);
            List<reportImage> list = new List<reportImage>();
            VEHICLE_DISPATCH_BLL bllVehicleDispatch = new VEHICLE_DISPATCH_BLL();
            VEHICLE_DISPATCH dispatchRecord = bllVehicleDispatch.GetModel(strJCLSH);
            RESULT_IMAGE_ZJ_BLL Images = new RESULT_IMAGE_ZJ_BLL();
            RESULT_IMAGE_ZJ ReportImage = new RESULT_IMAGE_ZJ();
            List<string> JCLSHset = GetAllJCLSH(strJCLSH, false);
            ModelReflection mR = new ModelReflection();
            for (int i = 0; i < JCLSHset.Count; i++)
            {
                RESULT_IMAGE_ZJ T = Images.GetModelList("JCLSH='" + JCLSHset[i] + "'")[0];
                if (i == 0)
                {
                    ReportImage = T;
                }
                mR.AutoMapping(T, ReportImage);
            }

            reportImage AJ_BGD_IMG = new reportImage();
            AJ_BGD_IMG.dsId = UploadConfig.GetConfig().stationID;
            AJ_BGD_IMG.detectSn = dispatchRecord.ZJLSH;
            AJ_BGD_IMG.vinNo = dispatchRecord.VIN;
            AJ_BGD_IMG.vehicleNo = dispatchRecord.HPHM;
            AJ_BGD_IMG.plateColorCode = vRESULT_VEHICLE_INFO.HPYS.To_Net_HPYS();
            AJ_BGD_IMG.imageType = "1";
            AJ_BGD_IMG.base64Image = ReportImage.AJBGD;

            reportImage AJ_HGZ_IMG = new reportImage();
            AJ_HGZ_IMG.dsId = UploadConfig.GetConfig().stationID;
            AJ_HGZ_IMG.detectSn = dispatchRecord.ZJLSH;
            AJ_HGZ_IMG.vinNo = dispatchRecord.VIN;
            AJ_HGZ_IMG.vehicleNo = dispatchRecord.HPHM;
            AJ_HGZ_IMG.plateColorCode = vRESULT_VEHICLE_INFO.HPYS.To_Net_HPYS();
            AJ_HGZ_IMG.imageType = "2";
            AJ_HGZ_IMG.base64Image = ReportImage.AJHGBZ;

            reportImage AJ_XSZ_IMG = new reportImage();
            AJ_XSZ_IMG.dsId = UploadConfig.GetConfig().stationID;
            AJ_XSZ_IMG.detectSn = dispatchRecord.ZJLSH;
            AJ_XSZ_IMG.vinNo = dispatchRecord.VIN;
            AJ_XSZ_IMG.vehicleNo = dispatchRecord.HPHM;
            AJ_XSZ_IMG.plateColorCode = vRESULT_VEHICLE_INFO.HPYS.To_Net_HPYS();
            AJ_XSZ_IMG.imageType = "3";
            AJ_XSZ_IMG.base64Image = ReportImage.JDCXSZ;

            Dictionary<string, List<reportImage>> dicRequest = new Dictionary<string, List<reportImage>>();
            List<reportImage> reportImages = new List<reportImage>();
            reportImages.Add(AJ_BGD_IMG);

            Func<string> uploadAJReport = new Func<string>(() =>
            {
                dicRequest.Add("reportImage", reportImages);
                string json = Newtonsoft.Json.JsonConvert.SerializeObject(dicRequest);
                string requestResult = ZJNet.ZJSendMsg(
                    ExtendMethod.GetJson(json, "shareReportImage"),
                    UploadConfig.GetConfig().url,
                    IPCTypeConfig.GetUploadMethod(
                    IPCTypeConfig.IPCType.UPLOAD_AJ_REPORT,
                    UploadConfig.GetConfig().accessToken));
                return requestResult;
            });

            uploadAJReport.BeginInvoke((asyncResult) =>
            {
                var result = uploadAJReport.EndInvoke(asyncResult);
                txtLog.BeginInvoke(m_cbUploadFinished, result);
            }, null);
        }

        private void UploadStagePicture()
        {
            string strJCLSH = txtJCLSH.Text.Trim();
            RESULT_VEHICLE_INFO_BLL recordSet = new RESULT_VEHICLE_INFO_BLL();
            RESULT_VEHICLE_INFO vehicleInfo = recordSet.GetModel(strJCLSH);
            VEHICLE_DISPATCH_BLL dispatches = new VEHICLE_DISPATCH_BLL();
            VEHICLE_DISPATCH dispatch = dispatches.GetModel(strJCLSH);
            RESULT_IMAGE_BLL images = new RESULT_IMAGE_BLL();
            RESULT_IMAGE image = new RESULT_IMAGE();
            ModelReflection mr = new ModelReflection();
            List<string> jclshes = GetAllJCLSH(strJCLSH, false);
            for (int i = 0; i < jclshes.Count; i++)
            {
                RESULT_IMAGE T = images.GetModel(jclshes[i]);
                if (i == 0)
                {
                    image = T;
                }
                mr.AutoMapping(T, image);
            }

            var uploadBrakeImg = new
            {
                dsId = UploadConfig.GetConfig().stationID,
                detectSn = dispatch.ZJLSH,
                vinNo = vehicleInfo.VIN,
                vehicleNo = vehicleInfo.HPHM,
                plateColorCode = vehicleInfo.HPYS.To_Net_HPYS(),
                imageType = "1",
                base64Image = Convert.ToBase64String(
                ExtendMethod.ResizeImage(image.Brake_Image.ToImage(),1024,720).ToArray())
            };

            var uploadLampImg = new
            {
                dsId = UploadConfig.GetConfig().stationID,
                detectSn = dispatch.ZJLSH,
                vinNo = vehicleInfo.VIN,
                vehicleNo = vehicleInfo.HPHM,
                plateColorCode = vehicleInfo.HPYS.To_Net_HPYS(),
                imageType = "2",
                base64Image = Convert.ToBase64String(
                ExtendMethod.ResizeImage(image.Lamp_Image.ToImage(),1024,720).ToArray())
            };

            var uploadPowerImg = new
            {
                dsId = UploadConfig.GetConfig().stationID,
                detectSn = dispatch.ZJLSH,
                vinNo = vehicleInfo.VIN,
                vehicleNo = vehicleInfo.HPHM,
                plateColorCode = vehicleInfo.HPYS.To_Net_HPYS(),
                imageType = "3",
                base64Image = Convert.ToBase64String(
                ExtendMethod.ResizeImage(image.Power_Image.ToImage(),1024,720).ToArray())
            };

            object[] _Img = new object[3];
            _Img[0] = uploadBrakeImg;
            _Img[1] = uploadLampImg;
            _Img[2] = uploadPowerImg;

            Func<string> uploadStagePhoto = new Func<string>(() =>
            {
                Dictionary<string, object[]> dicSharePrintImage = new Dictionary<string, object[]>();
                dicSharePrintImage.Add("printImage", _Img);
                string sharePrintImageJson
                    = Newtonsoft.Json.JsonConvert.SerializeObject(dicSharePrintImage);
                string requestResult = ZJNet.ZJSendMsg(
                    ExtendMethod.GetJson(sharePrintImageJson, "sharePrintImage"),
                    UploadConfig.GetConfig().url,
                    IPCTypeConfig.GetUploadMethod(
                    IPCTypeConfig.IPCType.UPLOAD_STAGE_PHOTO,
                    UploadConfig.GetConfig().accessToken));
                return requestResult;
            });

            uploadStagePhoto.BeginInvoke((asyncResult) =>
            {
                var result = uploadStagePhoto.EndInvoke(asyncResult);
                txtLog.BeginInvoke(m_cbUploadFinished, result);
            }, null);
            
        }
        #endregion

        #region 图片处理
        private void DisposeImg()
        {
            AJ_BGD_IMG = null;
            AJ_HGZ_IMG = null;
            AJ_XSZ_IMG = null;
            pic_BGD_AJ.Image = null;
            pic_HGZ_AJ.Image = null;
            pic_XSZ_AJ.Image = null;
        }

        public void GetAllImages()
        {
            ShowImage(this.pic_BGD_AJ, "AJBGD");
            ShowImage(this.pic_HGZ_AJ, "AJHGBZ");
            ShowImage(pic_XSZ_AJ, "JDCXSZ");
            ShowImage(pic_ZJ_BGD, "ZJBGD");
            ShowImage(pic_ZJ_YQ, "ZJYQ");
        }

        public Bitmap GetImageFromBase64(string base64string)
        {
            byte[] b = Convert.FromBase64String(base64string);
            MemoryStream ms = new MemoryStream(b);
            Bitmap bitmap = new Bitmap(ms);
            return bitmap;
        }

        private void ShowImage(PictureBox pic, string strImageType)
        {
            RESULT_IMAGE_ZJ_BLL M_RESULT_IMAGE_ZJ_BLL = new RESULT_IMAGE_ZJ_BLL();
            var vImages = M_RESULT_IMAGE_ZJ_BLL.GetModelList("JCLSH='" + txtJCLSH.Text.Trim() + "'");
            if (vImages.Length > 0)
            {
                if (strImageType == "AJBGD")
                {
                    if (string.IsNullOrEmpty(vImages[0].AJBGD) == false)
                    {
                        pic.Image = GetImageFromBase64(vImages[0].AJBGD);
                    }

                }
                if (strImageType == "AJHGBZ")
                {
                    if (string.IsNullOrEmpty(vImages[0].AJHGBZ) == false)
                    {
                        pic.Image = GetImageFromBase64(vImages[0].AJHGBZ);
                    }
                }
                if (strImageType == "JDCXSZ")
                {
                    if (string.IsNullOrEmpty(vImages[0].JDCXSZ) == false)
                    {
                        pic.Image = GetImageFromBase64(vImages[0].JDCXSZ);
                    }
                }
                if (strImageType == "ZJBGD")
                {
                    if (string.IsNullOrEmpty(vImages[0].ZJBGD) == false)
                    {
                        pic.Image = GetImageFromBase64(vImages[0].ZJBGD);
                    }

                }
                if (strImageType == "ZJYQ")
                {
                    if (string.IsNullOrEmpty(vImages[0].ZJYQ) == false)
                    {
                        pic.Image = GetImageFromBase64(vImages[0].ZJYQ);
                    }

                }
            }
        }
        #endregion
        
        #region 调用高拍仪拍照
        private void pic_BGD_AJ_Click(object sender, EventArgs e)
        {
            frmImageSC sc = new frmImageSC();
            sc.strImageType = "AJBGD";
            sc.JCLSH = txtJCLSH.Text.Trim();
            sc.frmUplad = this;
            sc.ShowDialog();
        }

        private void pic_HGZ_AJ_Click(object sender, EventArgs e)
        {
            frmImageSC sc = new frmImageSC();
            sc.strImageType = "AJHGBZ";
            sc.frmUplad = this;
            sc.JCLSH = txtJCLSH.Text.Trim();
            sc.Show();
        }

        private void pic_XSZ_AJ_Click(object sender, EventArgs e)
        {
            frmImageSC sc = new frmImageSC();
            sc.strImageType = "JDCXSZ";
            sc.JCLSH = txtJCLSH.Text.Trim();
            sc.frmUplad = this;
            sc.Show();
        }        

        private void pic_ZJ_BGD_Click(object sender, EventArgs e)
        {
            frmImageSC sc = new frmImageSC();
            sc.strImageType = "ZJBGD";
            sc.JCLSH = txtJCLSH.Text.Trim();
            sc.frmUplad = this;
            sc.Show();
        }

        private void pic_ZJ_YQ_Click(object sender, EventArgs e)
        {
            frmImageSC sc = new frmImageSC();
            sc.strImageType = "ZJYQ";
            sc.JCLSH = txtJCLSH.Text.Trim();
            sc.frmUplad = this;
            sc.Show();
        }
        #endregion

        #region 窗体事件
        /// <summary>
        /// 显示返回信息
        /// </summary>
        /// <param name="content"></param>
        private void AppendTxtList(string content)
        {
            this.txtLog.Items.Add(content);
        }

        /// <summary>
        /// 窗体关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void FrmUpload_FormClosed(object sender, FormClosedEventArgs e)
        {
            DisposeImg();
        }

        /// <summary>
        /// 上传工位照片
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUploadStagePhoto_Click(object sender, EventArgs e)
        {
            UploadStagePicture();
        }

        /// <summary>
        /// 安检结论图片信息上传
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_UploadImg_Aj_Click(object sender, EventArgs e)
        {
            Upload_Report_AJ();
        }

        /// <summary>
        /// 仪器设备组合信息上传
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void butUPload_Click(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            string szShareDetectInfoJson = Upload_Report_ZJ();
            UploadZJRepoct(szShareDetectInfoJson);
            //t.IsBackground = true;
        }

        /// <summary>
        /// 复制车牌号码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCopy_Click(object sender, EventArgs e)
        {
            Clipboard.SetDataObject(txtHPHM.Text.Trim(), true);
        }
        #endregion
    }
}
